JavaScript,使用动态键更新对象

时间:2019-12-21 13:16:20

标签: javascript

我有一个具有此静态结构的对象:

let obj = {
    "id": "",
    "id_configuration": "",
    "comment": "",
    "mw_assigned": "",
};

我想按键更新其属性。例如,如果我收到

const key = 'mw_assigned'
const value = '23'

然后我要更新对象并拥有:

let obj = {
    "id": "",
    "id_configuration": "",
    "comment": "",
    "mw_assigned": "23",
};

我该怎么办?我试图创建一个新的对象,像这样:

const new_obj = { ...obj, key: value }

我不知道如何从vars中设置键的名称和值

2 个答案:

答案 0 :(得分:3)

使用Computed property names

  

这让人想起属性访问器的bracket notation   语法

let obj = {
  "id": "",
  "id_configuration": "",
  "comment": "",
  "mw_assigned": "",
};

const key = 'mw_assigned'
const value = '23'

const new_obj = { ...obj, [key]: value }

console.log(new_obj)

答案 1 :(得分:2)

您可以用作obj[key]

  let obj = {
        "id": "",
        "id_configuration": "",
        "comment": "",
        "mw_assigned": "",
    };

const key = 'mw_assigned';
const value = '23';

   // obj[key] = value;

   const new_obj = { ...obj,  [key]: value }
console.log(new_obj );