为什么以下筛选器没有返回0?
[0, 5, 4].sort().filter(function(i){return i}) // returns : [4, 5]
发布于 2014-04-16 00:24:42
发布于 2014-04-16 00:37:41
筛选器用于检查条件。您返回的是值本身,这不是正确的用法。为此,它应该是
[0, 5, 4].sort().filter(function(i){return true;}); //[0,4,5] is returned
当您传递值本身时,所有等于真的非零数和等于假值的0都会被过滤器忽略。如果由于某种原因,你仍然想坚持这种方式,用引号将0括起来,就可以解决问题了。
[0, 5, 4].sort().filter(function(i){return i==0?'0':i;}) //[0,4,5] is returned
发布于 2015-09-17 20:43:59
试试这个:
[0, 5, 4].sort().filter(function(i){
return ((i) ? i : !i);
})
https://stackoverflow.com/questions/23089336
复制相似问题