The Wayback Machine - https://web.archive.org/web/20170626181426/https://github.com/lodash/lodash/blob/master/merge.js
Skip to content
Permalink
6cb3460 Feb 6, 2017
38 lines (35 sloc) 1.17 KB
import baseMerge from './.internal/baseMerge.js'
import createAssigner from './.internal/createAssigner.js'
/**
* This method is like `assign` except that it recursively merges own and
* inherited enumerable string keyed properties of source objects into the
* destination object. Source properties that resolve to `undefined` are
* skipped if a destination value exists. Array and plain object properties
* are merged recursively. Other objects and value types are overridden by
* assignment. Source objects are applied from left to right. Subsequent
* sources overwrite property assignments of previous sources.
*
* **Note:** This method mutates `object`.
*
* @since 0.5.0
* @category Object
* @param {Object} object The destination object.
* @param {...Object} [sources] The source objects.
* @returns {Object} Returns `object`.
* @example
*
* const object = {
* 'a': [{ 'b': 2 }, { 'd': 4 }]
* }
*
* const other = {
* 'a': [{ 'c': 3 }, { 'e': 5 }]
* }
*
* merge(object, other)
* // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }
*/
const merge = createAssigner((object, source, srcIndex) => {
baseMerge(object, source, srcIndex)
})
export default merge
You can't perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Morty Proxy This is a proxified and sanitized view of the page, visit original site.