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

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”的值。如何在循环中访问这些属性?

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

谢谢你!


当前回答

可以使用for..of循环遍历对象数组。

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

for..of循环最好的事情之一是,它们可以迭代不止数组。您可以遍历任何类型的可迭代对象,包括映射和对象。如果你需要支持旧的浏览器,请确保你使用了一个transpiler或类似TypeScript的东西。

如果要遍历映射,其语法与上面的基本相同,只是它同时处理键和值。

for (const [key, value] of items) {
  console.log(value);
}

我使用for..of循环进行Javascript中几乎所有类型的迭代。此外,最酷的事情之一是它们也可以与async/await一起工作。

其他回答

可以使用for..of循环遍历对象数组。

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

for..of循环最好的事情之一是,它们可以迭代不止数组。您可以遍历任何类型的可迭代对象,包括映射和对象。如果你需要支持旧的浏览器,请确保你使用了一个transpiler或类似TypeScript的东西。

如果要遍历映射,其语法与上面的基本相同,只是它同时处理键和值。

for (const [key, value] of items) {
  console.log(value);
}

我使用for..of循环进行Javascript中几乎所有类型的迭代。此外,最酷的事情之一是它们也可以与async/await一起工作。

我知道这已经很长了,但对于遇到这个问题的其他人来说,我的问题是我正在循环一个数组的数组只包含一个数组。是这样的:

// array snippet (returned from here)
} else {
   callback([results])
}

我像这样使用数组

for(const result of results){
   console.log(result.x)
}

如你所见,我要迭代的数组实际上在另一个数组中。去掉方括号有所帮助。Node JS和MySQL。

this.data = [{name:"Rajiv", city:"Deoria"},{name:"Babbi", city:"Salempr"},{name:"Brijesh", city:"GKP"}];
for(const n of this.data) {
    console.log(n.name)
}

数组对象迭代,使用jQuery, (使用第二个参数打印字符串)。

$.each(array, function(index, item) {
       console.log(index, item);
});

这里有一个例子,告诉你如何做到这一点:)

Var学生= [{ 名称:“迈克”, 声道:“跟踪”, 成就:23日, 点:400 }, { 名称:“詹姆斯”, 声道:“跟踪”, 成就:2 点:21日 }, ] students.forEach myFunction (); 函数myFunction(item, index) { For (var key in item) { console.log(项目(例子)) } }