javascript - 使用索引遍历 JavaScript 对象

标签 javascript for-loop ecmascript-6

我正在尝试循环 ES6 中的 JavaScript 对象。

 for (let [value, index] of object) {
    do something with rest
    if (index >= 1) {
       // do something with first item
    }
  }

它工作正常,尽管当我尝试使用索引获取第一项时它在控制台中返回错误:

Uncaught TypeError: Invalid attempt to destructure non-iterable instance

关于如何使用索引遍历对象有什么想法吗?谢谢

最佳答案

这只是对 jonas w 解决方案的补充。

如果需要当前值的key:

const object = {a:2, b:4, c:6, d:8};

for (const [index, [key, value]] of Object.entries(Object.entries(object))) {
  console.log(`${index}: ${key} = ${value}`);
}

Object.entries(object).forEach(([key, value], index) => {
  console.log(`${index}: ${key} = ${value}`);
});

当然,您可以随时省略:

const object = {a:2, b:4, c:6, d:8};

for (const [index, [, value]] of Object.entries(Object.entries(object))) {
  console.log(`${index}: ${value}`);
}

Object.entries(object).forEach(([, value], index) => {
  console.log(`${index}: ${value}`);
});

关于javascript - 使用索引遍历 JavaScript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45251605/

相关文章:

javascript - 如何使用正则表达式从文件中加载 jquery 中的 json?

javascript - 从模块导入解构

javascript - ES6/下一个 : object destructuring with rest - grouping

javascript - jquery 验证表单字段但不将表单数据提交到目标文件

javascript - 在 Javascript 中将键值对附加到数组

javascript - 为什么我不能在 javascript 中传递这个函数?

c - 是否可以在 for 循环中使用数组?

python - python3中for循环中 'in range()'用法和 'element in elements'用法之间的引用差异

python - 使用 for 循环创建元组。

javascript - 通过 ReactJS 中的组件传递属性,ES6 示例