比较javascript中的两个数组

Compare two arrays in javascript

本文关键字:两个 数组 javascript 比较      更新时间:2023-09-26

我想检查我的两个数组中哪些元素相等,但无法正常工作
这是我的代码:

for (var i; i < bombs.length; i++) {
    for (var j; j < bombsDb.length; j++) {
        if (bombs[i].name === bombsDb[j].address) {
            console.log(bombs[i].name);
        } else {
            console.log("non-equal elements");
        }
    }
}

因此,第一个数组包含来自googleplacesAPI的对象,第二个数组包含我的数据库中的数据
提前感谢!

您必须初始化ij

   for (var i = 0; i < bombs.length; i++) {
        for (var j = 0; j < bombsDb.length; j++) {
            if (bombs[i].name === bombsDb[j].address) {
                console.log(bombs[i].name);
            } else {
                console.log("non-equal elements");
            }
        }
    }

也可以使用jquery中的.not选择器进行比较。检查此项:

var a = [1,2,3,4,5,6];
var b = [4,5,6,7,8,9];
$(a).not( $(a).not(b).get() ).get(); 

这将返回以下阵列

[4,5,6]

您在for循环中缺少对ij的初始赋值。

//          here
//           v
for (var i = 0; i < bombs.length; i++) {
    // your loop
}

这导致比较在循环的第一次迭代中返回false,因为undefined < bombs.length总是返回false,所以它不会继续。