Javascript中如何剔除数组中所有的假值

2019-08-05   100 次阅读


刚刚在网上做一个题目,实则感慨
就是题目很简单,就是要剔除一个数组中所有假值
包括false、null、0、""、undefined 和 NaN
打算用.filter()外加过滤check函数做的
一开始写的check函数如下
return !(member === false || member === null || member === 0 || member === undefined || isNaN(member));
很复杂,而且还有bug
就是当正常的字符串成员出现的时候也会被滤掉
后来发现是isNaN()这个地方有问题,上网查阅发现只要不是数字的一律都会被这个函数判定为true刷掉
这下坏了,玩意isNaN和正常字符串一起出现呢。。
NaN这玩意可是连自己本身都不相等的呢
后来想了想,假值,,,emmmmm...
做点小修改
return member;
成功AC
只要member是假值,return的就会是false,因此可以顺利剔除所有假值

Q.E.D.

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议