javascript - Javascript 对象 - 使用数组值作为键
问题描述
我有以下数组
const lastThreeYearsArr = [currYear, currYear-1, currYear-2 ]
我需要将一个对象定义为:
var obj = {lastThreeYearsArr[0]: 0, lastThreeYearsArr[1]: 0, lastThreeYearsArr[2]: 0};
但是使用数组作为键似乎在 javascript 中不起作用。有没有办法访问数组值并将其作为对象中的键。
解决方案
您可以通过迭代键来创建一个新对象并Object.assign
与计算的属性名称一起使用。
var lastThreeYearsArr = ['currYear', 'currYear-1', 'currYear-2'],
object = lastThreeYearsArr.reduce((o, k) => Object.assign(o, { [k]: 0 }), {});
console.log(object);
推荐阅读
- spark-ar-studio - 无法设置未定义的属性“rotationX”
- typescript - “从不”类型上不存在属性
- python - 如何在 python 中生成一个 12 位长的随机数?
- java - 如何在 Apache poi SXSSFWorkbook 上添加自定义 SheetDataWriter?
- jquery - 在 jquery 中访问另一个父级的子元素
- javascript - 图像在 chrome 中加载一半
- python - ORM:发票。什么是 v10 中的 register_payment 的 v14 等价物?
- ios - 在 iOS 的 FirebaseUI 中,强制使用深色模式会导致 Apple 图标与背景融为一体
- python - 为什么使用 Python 调用 Bash 脚本时返回 256
- javascript - 在 rateYo jquery star 插件上显示默认星级