4.17.11
3.10.1
2.4.2
1.3.1

_.cloneDeepWith(value, [customizer])

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

Since

4.0.0

Arguments

argument
value
[customizer]
type
*
Function
description
The value to recursively clone.
The function to customize cloning.

Returns

(array)

Example

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

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

console.log(el === document.body);
// => false
console.log(el.nodeName);
// => 'BODY'
console.log(el.childNodes.length);
// => 20
function customizer(value) {
  if (_.isElement(value)) {
    return value.cloneNode(true);
  }
}

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

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