2015-04-17 213 views
0

也許按標題看起來是一個簡單的問題,但我不知道如何爲我的問題做最短的​​標題。
我想從javascript中刪除數組中的元素,是的,但是我正在尋找的是從數組中不匹配的元素與其他數組在javascript(也許它可能是標題,但太大)刪除。
例如:從數組中刪除元素javascript

Array A=> [a, b, c, d] 
Array B=> [b,d] 
Array C = deleteMismatchedElements(A,B) 
Array C (after function)-> [b,d] 

我想,用一個嵌套的foreach循環也可能是可能的,但我不知道是否有更好的辦法,什麼是「原生」實現的方法可以被稱爲,或類似...

非常感謝。

+2

根據你的榜樣,' C = B'會完成這項工作。 –

+0

乍一看,我以爲你需要數組差異,但我不明白你真正想要什麼? – AhmadAssaf

+3

您應該提供一個例子,其中B不是A的子集。我相信您正在尋找數組交集。這將是http://stackoverflow.com/q/1885557/218196 –

回答

3
var C = []; 
for(var i = 0; i < B.length; i ++){ 
    if(A.indexOf(B[i]) > -1){ 
     C.push(B[i]); 
    } 
} 

這樣做是

  1. 的每個項目,創建數組中B
  2. ifB[i]C
  3. 奔跑在A,將其添加到C
+2

'A.filter(b.includes.bind(b))' –

+0

......等等等等等等等等等等等等等等等等。 JavaScript有一個數組的過濾方法。過去一個月我一直在做我的生活? –

+0

你去那裏:http://stackoverflow.com/a/1885569/218196 –