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

Javascript Compare two arrays with different sizes and return the items that are not in second array

本文关键字:数组 返回 第二个 项目 比较 两个 Javascript      更新时间:2023-09-26

我有两个数组:

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

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

var notInSecond = [c,d];

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

谢谢。

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不包含重复项。