2014-07-02 12 views
1

我想使用Underscore(或Lodash)從另一個數組中刪除每個成員。舉例來說,如果我有陣列使用Underscore(或Lodash),如何從另一個數組中刪除數組的每個成員?

[1, 5, 2] 

你如何有效地從一些其他的陣列刪除陣列中的每個成員的每個實例,如:

[1, 1, 7, 2, 3, 6, 3, 4, 5, 6, 6, 7, 8] 

我期待得到:

[7, 3, 6, 3, 4, 6, 6, 7, 8] 

作爲結果。我所有使用_.without()的嘗試都失敗了,但我有一個偷偷摸摸的疑惑,我只是沒有正確地調用它。

在此先感謝您的幫助!

回答

2

嘗試_.difference() ...

返回從陣列中不存在於其他陣列中的值。

_.difference([1, 1, 7, 2, 3, 6, 3, 4, 5, 6, 6, 7, 8], [1, 5, 2]); 

Demo - JSFiddle

+0

感謝,安東尼。從未跑過.difference()。奇蹟般有效! – Dan

1

difference

var a = [1, 1, 7, 2, 3, 6, 3, 4, 5, 6, 6, 7, 8]; 
var b = [1, 5, 2]; 

console.log(_.difference(a,b)); 
+0

哈哈<30秒... – epascarello

相關問題