Merge the enumerable attributes of two objects deeply.
varutil=require('util')varmerge=require('deepmerge')varx={foo: {bar: 3},array: [{does: 'work',too: [1,2,3]}]}vary={foo: {baz: 4},quux: 5,array: [{does: 'work',too: [4,5,6]},{really: 'yes'}]}console.log(util.inspect(merge(x,y),false,null))output:
{foo: {bar: 3,baz: 4},array: [{does: 'work',too: [1,2,3,4,5,6]},{really: 'yes'}],quux: 5}var merge = require('deepmerge')
Merge two objects x and y deeply, returning a new merged object with the
elements from both x and y.
If an element at the same key is present for both x and y, the value from
y will appear in the result.
The merge is immutable, so neither x nor y will be modified.
The merge will also merge arrays and array values.
With npm do:
npm install deepmerge
For the browser, you can install with bower:
bower install deepmerge
With npm do:
npm test