1

如何剔除数组中的空值("", null, undefined)?
可以这样实现:

var arr = ['hello', '', 'world', null, '!'];
arr.filter(str => !!str);

最近看querystring源码时看到一段类似的逻辑,参考querystring代码更精简的实现上述问题:

var arr = ['hello', '', 'world', null, '!'];
arr.filter(Boolean);

巧妙利用Boolean
构造函数的功能:

第一个参数传递的值将转换为布尔值。如果省略或值0-0nullfalseNaNundefined,或空字符串(""),该对象具有的初始值false。所有其他值,包括任何对象,空数组([])或字符串"false",都会创建一个初始值为的对象true

普拉斯强
2.7k 声望53 粉丝

Coder