我想循环浏览一个数组中的对象,并改变每个对象的属性。如果我这样做
for (var j = 0; j < myArray.length; j++){
console.log(myArray[j]);
}
控制台应该会显示出数组中的每一个对象,对吗?但事实上,它只显示了第一个对象。如果我在循环之外的控制台记录数组,所有的对象都会出现,所以里面肯定有更多的对象。
总之,下一个问题来了。我如何使用循环来访问,例如数组中的Object1.x?
for (var j = 0; j < myArray.length; j++){
console.log(myArray[j.x]);
}
这将返回"undefined."同样,循环外的控制台日志告诉我,这些对象都有"x"的值。我怎样才能在循环中访问这些属性呢?
有人建议我为每个属性使用单独的数组,但我想先确定我已经用完了这个方法。
谢谢你!"。
使用forEach它是一个内置的数组函数。Array.forEach()
:
yourArray.forEach(function (arrayItem) {
var x = arrayItem.prop1 + 2;
console.log(x);
});
myArray[j.x]
在逻辑上是不正确的。
使用(myArray[j].x);
代替。
for (var j = 0; j < myArray.length; j++){
console.log(myArray[j].x);
}