首页 > 解决方案 > Javascript 对象 - 使用数组值作为键

问题描述

我有以下数组

  const lastThreeYearsArr = [currYear, currYear-1, currYear-2 ]

我需要将一个对象定义为:

var obj = {lastThreeYearsArr[0]: 0, lastThreeYearsArr[1]: 0, lastThreeYearsArr[2]: 0};

但是使用数组作为键似乎在 javascript 中不起作用。有没有办法访问数组值并将其作为对象中的键。

标签: javascript

解决方案


您可以通过迭代键来创建一个新对象并Object.assign计算的属性名称一起使用。

var lastThreeYearsArr = ['currYear', 'currYear-1', 'currYear-2'],
    object = lastThreeYearsArr.reduce((o, k) => Object.assign(o, { [k]: 0 }), {});
    
console.log(object);


推荐阅读