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

for (var j = 0; j < myArray.length; j++){

console.log(myArray[j]);

}

控制台应该显示数组中的每个对象,对吧?但实际上它只显示第一个对象。如果我在循环外对数组进行console日志记录,所有的对象都会出现,所以里面肯定有更多的对象。

不管怎样,这是下一个问题。我如何访问,例如Object1。X在数组中,使用循环?

for (var j = 0; j < myArray.length; j++){

console.log(myArray[j.x]);

}

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

其他地方建议我为每个属性使用单独的数组,但我想先确保我已经用尽了这个方法。

谢谢你!


当前回答

myArray [j。X]逻辑上是不正确的。

使用(myArray [j]。x);而不是

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

其他回答

myArray [j。X]逻辑上是不正确的。

使用(myArray [j]。x);而不是

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

forEach是一个内置的数组函数。Array.forEach ():

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

遍历对象数组是一个非常基本的功能。这对我来说很有效。

Var person = []; 人物[0]= { 名字:“约翰”, 姓:“母鹿”, 年龄:60 }; Var i,项目; For (i = 0;I < person.length;我+ +){ (本人[i]) { 文档。写(item + ": " + person[i][item] + "<br>"); } }

下面是另一种遍历对象数组的方法(您需要在文档中包含jQuery库)。

$.each(array, function(element) {
  // do some operations with each element... 
});
this.data = [{name:"Rajiv", city:"Deoria"},{name:"Babbi", city:"Salempr"},{name:"Brijesh", city:"GKP"}];
for(const n of this.data) {
    console.log(n.name)
}