0

我有两个数组:

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

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

var notInSecond = [c,d];

有谁知道如何做到这一点?

谢谢。

4

1 回答 1

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);
}

请记住indexOffor arrays 不适用于 IE8 及更低版本,必须对其进行仿真。我还假设它array1不包含重复项。

于 2012-05-21T17:26:08.370 回答