_.assignWith

_.assignWith(object, sources, [customizer])

source npm package

This method is like _.assign except that it accepts customizer which is invoked to produce the assigned values. If customizer returns undefined, assignment is handled by the method instead. The customizer is invoked with five arguments: (objValue, srcValue, key, object, source).

Note: This method mutates object.

Since

4.0.0

Arguments

  1. object (Object): The destination object.
  2. sources (…Object): The source objects.
  3. [customizer] (Function): The function to customize assigned values.

Returns

(Object): Returns object.

Example

function customizer(objValue, srcValue) {
  return _.isUndefined(objValue) ? srcValue : objValue;
}
 
var defaults = _.partialRight(_.assignWith, customizer);
 
defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
// => { 'a': 1, 'b': 2 }