{"ScriptPreparationCode":"var bob = {\r\n name: \u0022Bob\u0022,\r\n age: 32,\r\n \tlastName: \u0022test\u0022,\r\n local: {there:\u0022there\u0022},\r\n test:{\r\n test:{\r\n test:\u0022test\u0022\r\n }\r\n }\r\n };","TestCases":[{"Name":"vanila","Code":"function cloneObject(obj) {\r\n if (obj === null || typeof obj !== \u0027object\u0027) {\r\n return obj;\r\n }\r\n \r\n var temp = obj.constructor(); // give temp the original obj\u0027s constructor\r\n for (var key in obj) {\r\n temp[key] = cloneObject(obj[key]);\r\n }\r\n \r\n return temp;\r\n}\r\nvar bill = (cloneObject(bob));","IsDeferred":false},{"Name":"JSON.parse","Code":"var bill2 = (JSON.parse(JSON.stringify(bob)));","IsDeferred":false},{"Name":"lodash","Code":"var deep = _.cloneDeep(bob);","IsDeferred":false},{"Name":"ObjectAssign","Code":"var assign = Object.assign({}, bob)","IsDeferred":false}]}