Comparing deep cloning methods (Complex object): Lodash <> Custom clone func <> JSON.parse <> structuredClone
Missing clone-deep
Date tested:
one year ago
User agent:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36
Test name
Executions per second
Lodash
1589.1 Ops/sec
Custom function
2367.2 Ops/sec
JSON.parse
3791.5 Ops/sec
structuredClone
2660.2 Ops/sec
Benchmark definition (click to collapse):
HTML Preparation code:
<script src='https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js'></script>
Script Preparation code:
function recursiveDeepCopy(o) { var newO, i; if (typeof o !== 'object') { return o; } if (!o) { return o; } if ('[object Array]' === Object.prototype.toString.apply(o)) { newO = []; for (i = 0; i < o.length; i += 1) { newO[i] = recursiveDeepCopy(o[i]); } return newO; } newO = {}; for (i in o) { if (o.hasOwnProperty(i)) { newO[i] = recursiveDeepCopy(o[i]); } } return newO; } var MyObject = { description: 'Creates a deep copy of source, which should be an object or an array.', myNumber: 123456789, myBoolean: true, jayson: { stringify: 'JSON.stringify() method converts a JavaScript value to a JSON string....', parse: 'JSON.parse() method parses a JSON string...', some: [ { a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 },{ a: 1, b: "b", c: 3 } ], some2: [ { a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] },{ a: { b: 2, c: "Hello" }, d: [1, 2, 3] } ] }, deep1: { deep2: { deep3: { deep4: { deep5: { deep6: { deep7: { deep8: { deep9: { deep10: { anArray: [1, 2, 3, 4], anotherObject: { a: 1, b: 2, c: "hello world" } } } } } } } } } } } }; var myCopy = null;
Tests:
Lodash
myCopy = _.cloneDeep(MyObject);
Custom function
myCopy = recursiveDeepCopy(MyObject);
JSON.parse
myCopy = JSON.parse(JSON.stringify(MyObject));
structuredClone
myCopy = structuredClone(MyObject);
Open this result on MeasureThat.net