cloneDeepWith source npm

_.cloneDeepWith(value, [customizer])

This method is like _.cloneWith except that it recursively clones value.

Arguments

  1. value (*)

    The value to recursively clone.

  2. [customizer] (Function)

    The function to customize cloning.

Returns (*)

Returns the deep cloned value.

Example

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

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

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