0

Suppose I have this object:

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

And I have a different object like this:

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

Is there a way of adding obj2 properties to obj1 and have this?

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

I currently have this working but would want to know if there is an easier way:

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

3 Answers3

9

The easiest way of achieving this is using Object's assign:

Object.assign(obj1, obj2);

where the first object (obj1) is the target and will get modified.

c-chavez
  • 7,237
  • 5
  • 35
  • 49
1

According to Object Spread , you could do it this way :

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

You can use Object.assign():

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

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


console.log(Object.assign(obj1, obj2))
Luca Kiebel
  • 9,790
  • 7
  • 29
  • 44