不变地更新对象数组中属性的值

时间:2019-09-29 12:16:37

标签: javascript ecmascript-6

我有这个对象数组

const d = [{
  a_1: 1,
  b_2: 2
}]

如何在不创建临时变量的情况下将a_1的值更新为2

const myKey = 'a_1'
const myValue = 2
d.map(obj => ({...obj, obj[myKey]:myValue})) //why this won't work?

1 个答案:

答案 0 :(得分:0)

obj中删除obj[myKey],以便正确地将[myKey]视为计算的属性名称。

const transformedDs = d.map(obj => ({...obj, [myKey]:myValue}))