如何遍历包含对象的数组并访问其属性

我想遍历数组中包含的对象并更改每个对象的属性。 如果我这样做:

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]);

}

这返回“未定义”。 再次,循环外的控制台日志告诉我,对象都具有“x”的值。 我如何在循环中访问这些属性?

我被推荐到其他地方为每个属性使用单独的数组,但我想确保我已经用尽了这条道路。

谢谢!


使用forEach它的内置数组函数

yourArray.forEach( function (arrayItem)
{
    var x = arrayItem.prop1 + 2;
    alert(x);
});

for (var j = 0; j < myArray.length; j++){
  console.log(myArray[j].x);
}

在ECMAScript 2015中又名ES6,您可以使用for..of循环遍历一组对象。

for (let item of items) {
    console.log(item); // Will display contents of the object inside the array
}

在发布此答案时,对于Internet Explorer来说,支持几乎不存在,但通过使用像Traceur或Babel这样的转译器,您可以使用这种新的Javascript功能,而无需担心浏览器支持哪些内容。

链接地址: http://www.djcxy.com/p/70067.html

上一篇: How to loop through an array containing objects and access their properties

下一篇: Fastest way to iterate through JSON string in Javascript