2013-09-25 207 views
5

我有兩個數組從另一個陣列

var array1 = new Array ["a", "b", "c", "d", "e"]; 
var array2 = new Array ["a", "c", "d"]; 

我想在array1

結果["b", "e"]

刪除數組2的元素刪除數組的內容有沒有像

array1 = array1.remove(array2) 
什麼

注意我正在使用jquery-1.9.1

+0

可能重複[JavaScript數組差異(http://stackoverflow.com/questions/1187518/javascript-array-difference) – Itay

回答

8

嘗試:

var diff = $(array1).not(array2).get(); 
+0

當它嘗試這個輸出是'[1,2,6,diff:function]'如何從中刪除'diff:function'? – Okky

+2

看起來好吧小提琴,http://jsfiddle.net/nKNdA/,在這裏嘗試你的數據和更新,請發送鏈接。 – Kamil

2
function difference(source, toRemove) { 
    return source.filter(function(value){ 
     return toRemove.indexOf(value) == -1; 
    }); 
} 

注意Array.prototype.indexOfArray.prototype.filter不可用以前IE9

1

下劃線JS是你所需要的。這個庫有很多有用的數組操作函數。 Underscore JS

0

Underscore.js庫幫助:她的是你所需要的

_.difference(array1, array2);