{"ScriptPreparationCode":"var 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;\r\n\r\nfunction cloneObject(o) {\r\n\tif (typeof o !== \u0027object\u0027 || o === null) return o;\r\n\r\n\tlet out = Array.isArray(o) ? [] : {};\r\n\r\n\tfor (let k in o) {\r\n\t\tout[k] = (typeof o[k] === \u0022object\u0022 \u0026\u0026 o[k] !== null)\r\n\t\t\t? cloneObject(o[k])\r\n\t\t\t: o[k];\r\n\t}\r\n\r\n\treturn out;\r\n}","TestCases":[{"Name":"Lodash cloneDeep","Code":"myCopy = _.cloneDeep(MyObject);","IsDeferred":false},{"Name":"Native structuredClone","Code":"myCopy = structuredClone(MyObject);","IsDeferred":false},{"Name":"My shitty simple clone logic","Code":"myCopy = cloneObject(MyObject);","IsDeferred":false}]}