{"ScriptPreparationCode":"var customClone = function customClone(val) {\r\n var k, out, tmp;\r\n\r\n if (Array.isArray(val)) {\r\n out = Array(k = val.length);\r\n while (k--) out[k] = (tmp = val[k]) !== null \u0026\u0026 typeof tmp === \u0027object\u0027 ? customClone(tmp) : tmp;\r\n return out;\r\n }\r\n\r\n if (val !== null \u0026\u0026 typeof val === \u0027object\u0027) {\r\n out = {}; // null\r\n for (k in val) {\r\n if (k !== \u0027__proto__\u0027) {\r\n out[k] = (tmp = val[k]) !== null \u0026\u0026 typeof tmp === \u0027object\u0027 ? customClone(tmp) : tmp;\r\n }\r\n }\r\n return out;\r\n }\r\n\r\n return val;\r\n}\r\n\r\nvar MyObject = {\r\n description: \u0027Creates a deep copy of source, which should be an object or an array.\u0027,\r\n myNumber: 123456789,\r\n myBoolean: true,\r\n jayson: {\r\n stringify: \u0027JSON.stringify() method converts a JavaScript value to a JSON string....\u0027,\r\n parse: \u0027JSON.parse() method parses a JSON string...\u0027\r\n }\r\n};\r\n\r\nvar myCopy = null;","TestCases":[{"Name":"JSON.stringify","Code":"myCopy = JSON.parse(JSON.stringify(MyObject));","IsDeferred":false},{"Name":"structuredClone","Code":"myCopy = structuredClone(MyObject);","IsDeferred":false},{"Name":"customClone","Code":"\r\n\r\nmyCopy = customClone(MyObject);","IsDeferred":false}]}