deepmerge-alt
v0.3.0
Published
A library for deep (recursive) merging of Javascript objects
Downloads
305
Readme
deepmerge
Merge the enumerable attributes of two objects deeply.
The alt
version allows for array concat as an option.
https://github.com/theogravity/deepmerge/pull/1
example
var util = require('util')
var merge = require('deepmerge-alt')
var x = { foo: { bar: 3 },
array: [ { does: 'work', too: [ 1, 2, 3 ] } ] }
var y = { 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 }
methods
var merge = require('deepmerge')
merge(x, y, opts)
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.
options
arrays
merge
(default) - Replace array values at index. e.g.[1, 2] + [3] => [3, 2]
concat
- Push value to the bottom of the array. e.g.[1, 2] + [3] => [1, 2, 3]
install
With npm do:
npm install deepmerge-alt
For the browser, you can install with bower:
bower install deepmerge-alt
test
With npm do:
npm test