我有两个数组:
var array1 = [a,b,c,d];
var array2 = [1,2,a,b];
我需要一个函数来返回不在第二个数组中的项目数组。
var notInSecond = [c,d];
有谁知道怎么做?
感谢。
答案 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
不包含重复项。