Falsy Bouncer(算法)

题目

真假美猴王!

删除数组中的所有假值。

在JavaScript中,假值有false、null、0、""、undefined 和 NaN。

提示

Boolean Objects

Array.filter()

思路

我们可以用  Boolean() 函数进行类型转换。如果它的参数是 0、-0、null、undefined、false、NaN、"",生成的Boolean对象的值会为false,也就是题目中说的“假值”。

解法

解法一

function bouncer(arr) {
  // Don‘t show a false ID to this bouncer.
  return arr.filter(function(item,index,array){
    return Boolean(item);
  });
}

解法二

function bouncer(arr) {
  // Don‘t show a false ID to this bouncer.
  return arr.filter(Boolean);
}

测试

bouncer([7, "ate", "", false, 9]) 应该返回 [7, "ate", 9].

bouncer(["a", "b", "c"]) 应该返回 ["a", "b", "c"].

bouncer([false, null, 0, NaN, undefined, ""]) 应该返回 [].

bouncer([1, null, NaN, 2, undefined]) 应该返回 [1, 2].

时间: 2024-07-31 14:21:40

Falsy Bouncer(算法)的相关文章

Falsy Bouncer(过滤数组假值)

Falsy Bouncer 过滤数组假值 (真假美猴王) 删除数组中的所有假值. 在JavaScript中,假值有false.null.0."".undefined 和 NaN. function bouncer(arr) { // 请把你的代码写在这里 return arr.filter(function(a){ return !!a; }); } bouncer([false, null, 0, NaN, undefined, ""]); 本来也不会,参考了别人

Falsy Bouncer-freecodecamp算法题目

Falsy Bouncer(过滤数组假值) 要求 删除数组中的所有假值.(在JavaScript中,假值有false.null.0."".undefined 和 NaN.) 思路 用.filter()剔除数组中的假值 利用Boolea设置callback函数遇到真值返回true 代码 1 function bouncer(arr) { 2 // 请把你的代码写在这里 3 function res(val){ 4 return Boolean(val); 5 } 6 return arr

Falsy Bouncer

真假美猴王! 删除数组中的所有假值. 在JavaScript中,假值有false.null.0."".undefined 和 NaN. 这是一些对你有帮助的资源: Boolean Objects Array.filter() filter() 方法使用指定的函数测试所有元素,并创建一个包含所有通过测试的元素的新数组. 创建1个Boolean函数,初始化值为false var bNoParam = Boolean(); var bZero = Boolean(0); var bNull

freeCodeCamp:Falsy Bouncer

真假美猴王! 删除数组中的所有假值. 在JavaScript中,假值有false.null.0."".undefined 和 NaN. 1 /*思路 2 利用布尔值构造filter的测试函数,判断数组中不为false的元素: 3 */ 4 5 6 function checktrue(ele){ 7 return Boolean(ele)!==false; 8 } 9 function bouncer(arr) { 10 return arr.filter(checktrue); 11

fcc 基础算法题

fcc 基础算法题 fcc Reverse a String 翻转字符串 先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,最后把数组转化成字符串. function reverseString(str) { var arr =str.split(""); //string.split("");以""分割字符串 并返回新的数组 不改变原字符串 arr.reverse(); //反转数组 返回数组的引用 改变原数组 arr = ar

Freecodecamp 前端初级算法(个人向)

freecodecamp 初级算法地址戳这里 Reverse a String 翻转字符串 1 function reverseString(str) { 2 str=str.split("").reverse().join(""); 3 return str; 4 } 5 6 reverseString("hello") Factorialize a Number 计算一个整数的阶乘 1 function factorialize(num) {

js中字符和数组一些基本算法题

最近在刷 fcc的题,跟升级打怪一样,一关一关的过,还挺吸引我的.今天抽时间把 Basic Algorithm Scritping  这部分题做了,根据一些提示,还是比较简单的.有些题的处理方式 方法,我想值得借鉴.比如在项目中有时候要处理一个字符,如果想不到一些相关的方法,还挺费事的,所以,在此记录下来,如果以后遇到一些字符或者数组处理,可以来翻翻这篇文章,希望以此得到一些提示而不是去翻文档.   看到此博文的博友,有更好更简单的代码或者好的想法,请留言交流(我一直觉得只有学习别人的优秀代码才

fcc初级算法题

  1.Reverse a String 翻转字符串 先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,最后把数组转化成字符串. 你的结果必须得是一个字符串 function reverseString(str) { str = str.split(''); str.reverse(); str = str.join(''); return str; } reverseString("hello"); 2.Factorialize a Number 计算一个整数的阶乘

FreeCodeCamp初级算法部分学习

Reverse a String 翻转字符串 先把字符串转化成数组,再借助数组的reverse方法翻转数组顺序,最后把数组转化成字符串. 你的结果必须得是一个字符串 当你完成不了挑战的时候,记得开大招'Read-Search-Ask'. 这是一些对你有帮助的资源: Global String Object String.split() Array.reverse() Array.join() 1 function reverseString(str) { 2 // 请把你的代码写在这里 3 va