以下代码旨在搜索和删除数组中的元素但不起作用。
console.log(_.reject(['x','b','a1','ggg'],function(k){k==='x'}))
期待
[ 'b', 'a1', 'ggg' ]
但收到了,
[ 'x', 'b', 'a1', 'ggg' ]
代替。
x从未被删除,任何线索?
答案 0 :(得分:4)
您错过了return
。查看documentation for reject
_.reject(['x','b','a1','ggg'], function(k) {
return k === 'x';
});
在ES6中,您可以使用箭头语法来避免显式包含return
,但使用常规函数语法时,您必须返回一个值。
// ES6
_.reject(['x','b','a1','ggg'], (k) => k === 'x');
// ES5
_.reject(['x','b','a1','ggg'], function(k) {
return k === 'x';
});
答案 1 :(得分:1)
您错过了predicate
而不是
_.reject(['x','b','a1','ggg'],function(k){k==='x'})
试
_.reject(['x','b','a1','ggg'],function(k){ return k==='x'})