以下代碼旨在搜索並從數組中刪除元素,但不起作用。javascript:Lodash拒絕查詢
console.log(_.reject(['x','b','a1','ggg'],function(k){k==='x'}))
期待
[ 'b', 'a1', 'ggg' ]
但收到的,
[ 'x', 'b', 'a1', 'ggg' ]
代替。
x從來沒有被刪除,任何線索?
以下代碼旨在搜索並從數組中刪除元素,但不起作用。javascript:Lodash拒絕查詢
console.log(_.reject(['x','b','a1','ggg'],function(k){k==='x'}))
期待
[ 'b', 'a1', 'ggg' ]
但收到的,
[ 'x', 'b', 'a1', 'ggg' ]
代替。
x從來沒有被刪除,任何線索?
你缺少一個return語句在predicate
而不是
_.reject(['x','b','a1','ggg'],function(k){k==='x'})
嘗試
_.reject(['x','b','a1','ggg'],function(k){ return k==='x'})
您缺少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';
});
我upvoted你的答案,因爲你給箭頭語法惡魔登記領 –