javascript:Lodash拒绝查询

时间:2017-08-04 02:56:30

标签: javascript

以下代码旨在搜索和删除数组中的元素但不起作用。

console.log(_.reject(['x','b','a1','ggg'],function(k){k==='x'}))

期待

[ 'b', 'a1', 'ggg' ]

但收到了,

[ 'x', 'b', 'a1', 'ggg' ]

代替。

x从未被删除,任何线索?

2 个答案:

答案 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'})