在JavaScript中,假值有false、null、0、""、undefined 和 NaN。
看到这道题,觉得是正则表达式的一个扩展,或者是一个函数的扩展,没有想明白,直接看了答案
function bouncer(arr) {
// Don't show a false ID to this bouncer.
arr=arr.filter(function(val){if(val){return val;}});
return arr;
}
bouncer([7, "ate", "", false, 9]);
分析:
1、arr.filter就是从数组中筛选元素的函数,可以筛选指定值;
2、函数的核心行值得分析,初学者看不懂,我就是初学者,大概的意思如下:
i、对arr数组做筛选操作;
ii、括号里是将一个方法在一行写的方式,这种方式不用return,可直接返回值;
iii、val应该是直接带入的值,将function直接写在变量的位置上,应该就是直接调用变量的意思,因此val等于arr数组的一个元素;
iV、false、null、0、""、undefined 和 NaN,在做if判断的时候应该都是假值,因此被筛选;
V、filter自带轮询功能,可以逐个尝试每个数组中的元素;
3、上面第二部分都是我分析出来的,没有自己实际写过,记录如下,待日后学习。
本文解析了JavaScript中使用filter函数过滤数组中的假值(false、null、0、、undefined和NaN)的方法,通过实例代码详细说明了其工作原理。
357

被折叠的 条评论
为什么被折叠?



