[英]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的对象,第二个数组包含来自我的数据库的数据。
提前致谢!
您必须初始化i
和j
;
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循环中缺少对i
和j
的初始分配。
// 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.