我正在尝试循环 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/