2016-09-05 5 views
0

Imいくつかの計算でlodashを使用していますが、期待していない機能があります。例えば、 'difference'などです。2つの配列を_differenceと比較する

彼の使用量は次のとおりです。

_.difference([2, 1], [2, 3]); 
output: [1] 

しかし、私は私のアレイに適用されます。

_.difference([5111471, 5111513], [5111471,5111505,5111513]); 
output:[] 

の代わりに私を与える[5111505]は、私に空の配列を与えています。

+0

あなたが最初の '_.difference([5111471,5111505ように、第2引数を提供する必要があるので、あなたは何をする必要がある[5111505]を戻します5111513]、[5111471、5111513]); ' –

+0

データは常にソートされていますか? – MiltoxBeyond

答えて

1

_.differenceは、2番目の配列に存在しない最初の配列の要素を返します。あなたの例にはそのような要素はないので、空の結果です。あなたは(つまり、最初の配列または第二の中に存在している要素ではなく、両方で)symmetric differenceをしたい場合は、実際の違いを返さない

diff = _.union(_.difference(a, b), _.difference(b, a)) 
0

_.differenceような何かを行うことができます2つの配列を返しますが、代わりに最初の配列から2番目の配列を引いたものを返します。

_.difference([5111471,5111505,5111513],[5111471, 5111513]); 

は、詳細はドキュメントを参照してください:そのために https://lodash.com/docs/4.15.0#difference