Javascript比较两个不同大小的数组,并返回不在第二个数组中的项目

时间:2012-05-21 17:21:25

标签: javascript arrays compare

我有两个数组:

var array1 = [a,b,c,d];
var array2 = [1,2,a,b];

我需要一个函数来返回不在第二个数组中的项目数组。

var notInSecond = [c,d];

有谁知道怎么做?

感谢。

1 个答案:

答案 0 :(得分:2)

var notInSecond = array1.slice(0); // Creates a clone of array1
for (var i = 0, j; i < array2.length; i++) {
    j = notInSecond.indexOf(array2[i]);
    if (j > -1) notInSecond.splice(j, 1);
}

请记住,indexOf数组不适用于IE8及更低版本,必须进行模拟。我还假设array1不包含重复项。