4.17.11
3.10.1
2.4.2
1.3.1

_.mergeWith(object, sources, customizer)

This method is like _.merge except that it accepts customizer which is invoked to produce the merged values of the destination and source properties. If customizer returns undefined, merging is handled by the method instead. The customizer is invoked with six arguments:
(objValue, srcValue, key, object, source, stack).

Note: This method mutates object.

Since

4.0.0

Arguments

argument
object
sources
customizer
type
Object
...Object
Function
description
The destination object.
The source objects.
The function to customize assigned values.

Returns

(array)

Example

function customizer(
  objValue,
  srcValue
) {
  if (_.isArray(objValue)) {
    return objValue.concat(srcValue);
  }
}

var object = { a: [1], b: [2] };
var other = { a: [3], b: [4] };

_.mergeWith(object, other, customizer);
// => { 'a': [1, 3], 'b': [2, 4] }
function customizer(objValue, srcValue) {
  if (_.isArray(objValue)) {
    return objValue.concat(srcValue);
  }
}

var object = { a: [1], b: [2] };
var other = { a: [3], b: [4] };

_.mergeWith(object, other, customizer);
// => { 'a': [1, 3], 'b': [2, 4] }