{"ScriptPreparationCode":"function objClone(obj) {\r\n var index = 0,\r\n keys = Object.keys(obj),\r\n length = keys.length,\r\n key,\r\n result = {};\r\n\r\n for (; index \u003C length; index \u002B= 1) {\r\n key = keys[index];\r\n result[key] = obj[key];\r\n }\r\n return result;\r\n}\r\n\r\nvar testObj = {\r\n a: {\r\n b: {\r\n c: [1,2,4, {}, [4,2], {\r\n d: 4,\r\n e: {},\r\n f: [4,5,2],\r\n }]\r\n }\r\n }\r\n};","TestCases":[{"Name":"clone object manually","Code":"objClone(testObj)","IsDeferred":false},{"Name":"clone object native","Code":"Object.assign({}, testObj);","IsDeferred":false},{"Name":"freeze","Code":"Object.freeze(objClone)","IsDeferred":false}]}