JavaScript之Array.filter(Boolean)

ECMAScirpt5 中 Array 类中的 filter 方法使用目的是移除所有为 ”false“ 类型元素:

var a = [1, 2, "b", 0, {}, "", NaN, 3, undefined, null, 5];
var b = a.filter(Boolean); // [1,2,"b",{},3,5]

Boolean 是一个函数,它会对遍历数组中的元素,并根据元素的真假类型,对应返回 true 或 false.

例如:

Boolean(0); // false
Boolean(true); // true
Boolean(1); // true
Boolean(""); // false
Boolean("false"); // true. "false"是一个非空字符串

简写模式:

b = a.filter(Boolean);

等价于:

b = a.filter(function (x) { return Boolean(x); });
b = a.filter((x) => Boolean(x));

 

posted @ 2021-08-20 14:52  阿清吖  阅读(717)  评论(0)    收藏  举报