5

我有两个数组

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

我想从 array1 中删除 array2 的元素

结果["b", "e"]

有没有类似的

array1 = array1.remove(array2)

注意我使用的是 jquery-1.9.1

4

5 回答 5

8

尝试:

var diff = $(array1).not(array2).get();
于 2013-09-25T07:30:39.823 回答
2
function difference(source, toRemove) {
    return source.filter(function(value){
        return toRemove.indexOf(value) == -1;
    });
}

注意:在IE9Array.prototype.indexOf之前Array.prototype.filter不可用!

于 2013-09-25T07:35:53.447 回答
1

虽然有很多方法可以通过本机 java 脚本来实现,但我建议查看Underscore 库

于 2013-09-25T07:36:28.643 回答
1

下划线 JS 是您所需要的。这个库有很多有用的数组操作函数。 下划线 JS

于 2013-09-25T08:08:10.730 回答
0

Underscore.js 库有帮助:她的就是你所需要的

_.difference(array1, array2);
于 2017-03-01T20:24:21.173 回答