如何使用Javascript es6从数组创建对象?

uniqYears数组的长度是灵活的,因此,我不想对每年的ID进行硬编码。我没有开始的索引列表。

const uniqYears = [2016, 2017]


所需的输出:

const uniqYearsObj = [
  { id: 1, year: 2016 },
  { id: 2, year: 2017 }
]

最佳答案

您可以通过多种方式来执行此操作,例如forEach()map()等……使用简单的forEach()

使用Array.prototype.map(),



const uniqYears = [2016, 2017]
const result = [];
uniqYears.map((e, i) =>result.push({id: i+1, year: e}))
console.log(result);





使用Array.prototype.forEach(),



const uniqYears = [2016, 2017]
const result = [];
uniqYears.forEach((e, i) =>result.push({id: i+1, year: e}))
console.log(result);

09-30 13:39