Javascript:将循环变量值用作对象的键

时间:2018-10-08 09:40:45

标签: javascript object

让我们简化我的问题;我有这段代码:

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

如何实现?

2 个答案:

答案 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);