cloneWith source npm

_.cloneWith(value, [customizer])

这个方法类似 _.clone,除了它接受一个 customizer 定制返回的拷贝值。 如果 customizer 返回 undefined 将会拷贝处理方法代替。 customizer 会传入5个参数:(value [, index|key, object, stack])

参数

  1. value (*)

    要拷贝的值

  2. [customizer] (Function)

    这个函数定制返回的拷贝值

返回值 (*)

返回拷贝后的值

示例

function customizer(value) {
  if (_.isElement(value)) {
    return value.cloneNode(false);
  }
}

var el = _.cloneWith(document.body, customizer);

console.log(el === document.body);
// => false
console.log(el.nodeName);
// => 'BODY'
console.log(el.childNodes.length);
// => 0