首页 > 解决方案 > 在 javascript 中使用 for of 循环迭代对象数组

问题描述

我有一个x带有一堆属性的对象。属性之一是heroes它具有对象数组的值。我有兴趣遍历对象数组heroes并从中访问特定属性。

这是代码:

x = {id: "prim1", description: "planner", heroes: [{name: "arrow", universe: "dc"}, {name: "shields", universe: "marvel"}]};

我写了一个简单for loop的实现我想要的如下:

for (let idx = 0; idx < x.heroes.length; idx++) {
   console.log(x.heroes[idx].universe);
}

如何使用最新的 ES6for of循环实现相同的功能?

谢谢你。

标签: javascriptecmascript-6

解决方案


这是使用for of loop 的解决方案,您只需要使用此结构调用可迭代元素:

for (variable of iterable) {
  console.log(variable)
}

在每次迭代中,您都可以获得当前变量。

x = {
  id: "prim1",
  description: "planner",
  heroes: [{
    name: "arrow",
    universe: "dc"
  }, {
    name: "shields",
    universe: "marvel"
  }]
};

for (let idx = 0; idx < x.heroes.length; idx++) {
  console.log(x.heroes[idx].universe);
}

for (let o of x.heroes) {
  console.log(o.universe);
}


推荐阅读