繁体   English   中英

比较JavaScript中的两个数组

[英]Compare two arrays in javascript

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

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

因此,第一个数组包含来自Google Places api的对象,第二个数组包含来自我的数据库的数据。
提前致谢!

您必须初始化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,因此不会继续进行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM