2013-09-25 161 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);