2017-08-04 3 views
0

次のコードは、配列から要素を検索および削除することを目的としていましたが、機能していません。javascript:Lodashはクエリを拒否します

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

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

を期待しかし、その代わりに、

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

を受信しました。

xが削除されたことはありません。

答えて

1

あなたは

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

4

returnがありません。 ES6でdocumentation for reject

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

をチェックアウトするには、明示的にreturnを含めることを回避するために矢印構文を使用できますが、通常の関数の構文を使用すると、値を返す必要があります。

// ES6 
_.reject(['x','b','a1','ggg'], (k) => k === 'x'); 

// ES5 
_.reject(['x','b','a1','ggg'], function(k) { 
    return k === 'x'; 
}); 
+0

を試みる代わりに

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

のごpredicate

でreturn文が欠落しているあなたは、矢印構文悪魔を与えたので、私はあなたの答えをupvoted導入 –

関連する問題