今天在刷 FCC 0 “| FreeCodeCamp中文社区”) 的时候遇到这么一题 1 “Falsy Bouncer | FreeCodeCamp中文社区”) ,记录一下。
Falsy Bouncer(真假美猴王)
过滤数组假值 删除数组中的所有假值。 在 JavaScript
中,假值有 false
、null
、0
、""
、undefined
和 NaN
。
1 | function bouncer(arr) { |
解
false
、null
、0
、""
、undefined
这几个都很好处理,只要判断是不是等于这些值就好了。就像这样:
1 | function bouncer(arr) { |
特别的
但是 NaN
则不能这么判断,因为 NaN
有个不同的地方,就是 NaN
不和任何值相等,包括他自己 3 “[Java教程]js删除数组中的NaN”),也就是说:
1 | // in |
所以如果使用和之前几个值一样使用 filter()
4 “Array.prototype.filter() - JavaScript | MDN”) 的话:
1 | filter(function(value) { |
所以,结合上面说的 NaN
的特点,这部分应该这么写:
1 | filter(function(value) { |
关于题目,到这里就先结束了,发现自己了解的还是太少,等下去总结一下这些「假」值的特点。