让我们简化我的问题;我有这段代码:
let arr = []
for (let i = 0; i < 2; i++) {
arr.push({
i: i + 1
})
}
console.log(arr)
这将输出:Array [Object { i: 1 }, Object { i: 2 }]
但我想要:Array [Object { 0: 1 }, Object { 1: 2 }] // Values of 'i' as object keys
如何实现?
答案 0 :(得分:2)
如果您可以使用ES6,则应该可以使用。
let arr = []
for(let i=0; i<2; i++) {
arr.push({
[i]: i+1
})
}
console.log(arr)
答案 1 :(得分:2)
您可以使用Array.from
并使用带有computed property name的对象进行单循环。
var array = Array.from({ length: 2 }, (_, i) => ({ [i]: i + 1 }));
console.log(array);