EN
JavaScript - merge two objects properties dynamically
3
points
In this article, we would like to show you how to merge two object properties dynamically in JavaScript.
Quick solution:
const result = {
...object1,
...object2
}
Hint: be careful, presented solutions in this example merged object only on the first level (
object1
andobject2
direct properties will be combined - without child object properties).To make full merge it is necessary to iterete grought all objects, or use some library.
Practical example
In this example, we merge object1
and object2
into the result
object.
1. Merging using ... operator
Spread operator (...
) was introduced in ES6.
// ONLINE-RUNNER:browser;
const object1 = {
1: 'a',
2: 'b'
}
const object2 = {
2: 'c',
3: 'd'
}
const result = {
...object1,
...object2
}
console.log(JSON.stringify(result, null, 2));
Output:
{
"1": "a",
"2": "c",
"3": "d"
}
Note:
If the property from
object2
is the same as property fromobject1
, it will be overwritten.
2. Merging using Object.assign()
function
Object.assign()
was introduced in ES6.
// ONLINE-RUNNER:browser;
const object1 = {
1: 'a',
2: 'b'
}
const object2 = {
2: 'c',
3: 'd'
}
const result = Object.assign({}, object1, object2);
console.log(JSON.stringify(result, null, 2));
Note:
If the property from
object2
is the same as property fromobject1
, it will be overwritten.