{"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 copy(o) {\r\n var output, v, key;\r\n output = Array.isArray(o) ? [] : {};\r\n for (key in o) {\r\n v = o[key];\r\n output[key] = (typeof v === \u0022object\u0022) ? copy(v) : v;\r\n }\r\n return output;\r\n}\r\n","TestCases":[{"Name":"copy recursive","Code":"myCopy = copy(MyObject);","IsDeferred":false},{"Name":"json","Code":"myCopy = JSON.parse(JSON.stringify(MyObject));","IsDeferred":false},{"Name":"lodash","Code":"myCopy = _.cloneDeep(MyObject);","IsDeferred":false}]}