首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何遍历包含对象的数组并访问其属性

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

Stack Overflow用户
提问于 2013-05-19 00:50:31
回答 16查看 641.7K关注 0票数 278

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

代码语言:javascript
复制
for (var j = 0; j < myArray.length; j++){

console.log(myArray[j]);

}

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

无论如何,这是下一个问题。如何使用循环访问,例如数组中的Object1.x?

代码语言:javascript
复制
for (var j = 0; j < myArray.length; j++){

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

}

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

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

谢谢!

EN

回答 16

Stack Overflow用户

回答已采纳

发布于 2013-05-19 00:52:50

使用forEach它是一个内置的数组函数。Array.forEach()

代码语言:javascript
复制
yourArray.forEach(function (arrayItem) {
    var x = arrayItem.prop1 + 2;
    console.log(x);
});
票数 432
EN

Stack Overflow用户

发布于 2015-06-29 10:11:28

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

代码语言:javascript
复制
for (let item of items) {
    console.log(item); // Will display contents of the object inside the array
}

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

如果您想在map上迭代,其语法与上面的基本相同,只是它同时处理键和值。

代码语言:javascript
复制
for (const [key, value] of items) {
  console.log(value);
}

我在Javascript中几乎每一种迭代都使用for..of循环。此外,最酷的事情之一是它们也可以使用async/await。

票数 74
EN

Stack Overflow用户

发布于 2013-05-19 00:53:02

代码语言:javascript
复制
for (var j = 0; j < myArray.length; j++){
  console.log(myArray[j].x);
}
票数 30
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16626735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档