【问题标题】:Is there a way to add multiple properties into an object? [duplicate]有没有办法将多个属性添加到对象中? [复制]
【发布时间】:2020-06-23 06:56:35
【问题描述】:

举个例子

const a = {
  "a": 1,
  "b": "hi",
}

const c = "54"
const d = "66"

我想成为

a = {
  "a": 1,
  "b": "hi",
  "c": 54,
  "d": 66,
}

我想在一行中完成,所以

 a = {c, d}

但是上面的代码会去掉ab。有什么快速的方法可以做到这一点?

【问题讨论】:

  • a = {...a, c, d}
  • a = Object.assign(a, { c, d }); 应该可以完成这项工作。 @VLAZ wops,没有注意到你已经在那里回答了:)
  • 如前所述,展开运算符是最短的方法 a = {...a, c, d}
  • @briosheje 不是真正的答案,是吗:P
  • @VLAZ 听起来像是一个答案...评论,确实.... 一个.. 可能.. 重复的问题,但没关系。我看你也是个有文化的人。

标签: javascript


【解决方案1】:

Spread syntax

const a = {
    a: 1,
    b: 'hi',
};

const c = '54';
const d = '66';

console.log({ ...a, c, d });

【讨论】:

    【解决方案2】:

    一种方法是使用Object.assign:

    a = Object.assign({}, a, { c, d });
    

    这有效地创建了一个新对象 ({}),然后它从初始对象 (a) 复制所有属性,然后复制新属性 ({c, d })。

    【讨论】:

      最近更新 更多