Javascript ES6:从列表创建id值对象

时间:2018-10-06 09:25:25

标签: javascript ecmascript-6

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

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

const uniqYears = [2016, 2017]

所需的输出:

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

2 个答案:

答案 0 :(得分:2)

去那里:

const uniqYears = [2016, 2017]

const uniqYearsObj = uniqYears.map((y, index) => ({id: index + 1, year:y }) )

console.log(uniqYearsObj)

答案 1 :(得分:1)

您可以通过多种方式执行此操作,例如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);