【发布时间】:2015-02-10 16:07:06
【问题描述】:
我有一个 JavaScript 对象,我试图将它与一个对象数组进行比较:
var builtVehicle = {pattern: "../images/fire1192015.png",
vehicle: "../images/van1192015.png",
wheel: "../images/wheels3.png"};
var createdVehicles = [
{pattern:"../images/checkerboard1192015.png",
vehicle:"../images/car1192015.png", wheel:"../images/wheels1.png"},
{pattern:"../images/fire1192015.png", vehicle:"../images/truck1192015.png",
wheel:"../images/wheels4.png"},]
我正在尝试遍历 JavaScript 对象和 createdVehicles 对象数组以寻找精确匹配。如果没有完全匹配,我想将 builtVehicle 对象添加到 createdVehicles 数组中。我的想法是将数组中对象的每个键/值对与 builtVehicle 对象进行比较,但是我在提取数组中的键/值对时遇到了一些问题。我的循环如下所示:
for(var key in builtVehicle) {
console.log('builtVehicle key: ' + key + '\n' + 'builtVehicle value: ' +
builtVehicle[key]);
}
for(var b=0; b < createdVehicles.length; b++){
alert(createdVehicles[b]);
}
这是最好的方法吗?我也在研究 2D 数组来实现这一点,但任何建议都值得赞赏。谢谢!
【问题讨论】:
-
“createdVehicles”数组没有
.obj属性;数组的每个索引元素都是一个对象。 -
呃,嵌套循环?
-
对,我并不是要在“createdVehicles”for 循环中包含 .obj 属性。 Bergi,我正计划在第一个循环中嵌套第二个循环,只是不确定哪种代码会将键值对从数组中拉出。
-
createdVehicles[b].vehicle、createdVehicles[b].pattern等,或者createdVehicles[b][key],如果你正在使用for ... in循环。
标签: javascript arrays object for-loop