小编Tom*_*Sun的帖子

Array.prototype.filter自动过滤掉falsey值

过滤器函数是否会自动过滤掉false,null或undefined等虚假值?如果是这样,如何阻止它这样做.

我需要过滤掉数组中的所有0,所以我使用了array.filter回调,并且我意识到过滤器函数会删除falsey值,即使我想保留它们也是如此.有没有解决的办法?

编辑:这是我的代码,并进行深度比较没有返回falsey值.

function removeZero(arr) {
  return arr.filter(function(element){
    if(element!==0){
      return element;
    }
  });
}
Run Code Online (Sandbox Code Playgroud)

编辑2:这是包含测试数组内容的repl.it链接,当我运行它时,结果会过滤掉false,null和undefined.https://repl.it/BAiK

javascript arrays functional-programming filter

3
推荐指数
1
解决办法
1199
查看次数