assignInWith extendWith

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

这个方法类似 _.assignIn。 除了它接受一个 customizer决定如何分配值。 如果customizer返回undefined将会由分配处理方法代替。customizer` 会传入5个参数:(objValue, srcValue, key, object, source)。

注意: 这方法会改变源对象

参数

  1. object (Object)

    目标对象

  2. sources (...Object)

    来源对象

  3. [customizer] (Function)

    这个函数决定分配的值

返回值 (Object)

返回对象

示例

function customizer(objValue, srcValue) {
  return _.isUndefined(objValue) ? srcValue : objValue;
}

var defaults = _.partialRight(_.assignInWith, customizer);

defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });
// => { 'a': 1, 'b': 2 }