【问题标题】:javascript add new properties to an object [duplicate]javascript向对象添加新属性[重复]
【发布时间】:2018-08-29 17:17:04
【问题描述】:

假设我有这个对象:

let obj1 = {
key1: 'value1',
key2: 'value2'
}

我有一个像这样的不同对象:

let obj2 = {
key3: 'value3',
key4: 'value4'
}

有没有办法将 obj2 属性添加到 obj1 并拥有这个?

{
    key1: 'value1',
    key2: 'value2',
    key3: 'value3',
    key4: 'value4'
}

我目前有这个工作,但想知道是否有更简单的方法:

for (prop in obj2) {
        if (obj2.hasOwnProperty(prop)) {
          obj1[prop] = obj2[prop];
        }
      }

【问题讨论】:

  • 其实有几种方法是obj1 = Object.assign(obj1, obj2)

标签: javascript


【解决方案1】:

实现这一点的最简单方法是使用Object's assign

Object.assign(obj1, obj2);

第一个对象 (obj1) 是目标并将被修改。

【讨论】:

    【解决方案2】:

    根据Object Spread,你可以这样做:

    let mergedObjects = {...obj1, ...obj2};
    

    【讨论】:

    • 这也很容易使用
    【解决方案3】:

    你可以使用Object.assign():

    let obj1 = {
      key1: 'value1',
      key2: 'value2'
    }
    
    let obj2 = {
      key3: 'value3',
      key4: 'value4'
    }
    
    
    console.log(Object.assign(obj1, obj2))

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-10
      • 2018-07-24
      • 2021-11-09
      • 2013-06-08
      • 2021-07-08
      • 2018-04-25
      • 2011-11-09
      相关资源
      最近更新 更多