{"ScriptPreparationCode":"var testObj = {\r\n \u0022content\u0022: [\r\n {\r\n \u0022columnGap\u0022: 10,\r\n \u0022columns\u0022: [\r\n {\r\n \u0022svg\u0022: \u0022\\n \u003Csvg\u003E\u003Cpath/\u003E\u003C/svg\u003E\u0022,\r\n\t\t \u0022width\u0022: 100\r\n },\r\n {\r\n \u0022style\u0022: \u0022reportMainHeading\u0022,\r\n \u0022text\u0022: \u0022Azure-Central-US\u0022,\r\n \u0022width\u0022: \u0022*\u0022 \r\n }\r\n ]\r\n },\r\n {\r\n \u0022canvas\u0022: [\r\n {\r\n \u0022lineColor\u0022: \u0022#CCCCCC\u0022,\r\n \u0022lineWidth\u0022: 3,\r\n \u0022type\u0022: \u0022line\u0022\r\n }\r\n ],\r\n \u0022margin\u0022: [0, 10]\r\n }\r\n ]\r\n};\r\n\r\nvar recursiveDeepCopy = (obj) =\u003E {\r\n return Object.keys(obj).reduce(\r\n (acc, key) =\u003E\r\n Object.assign(acc, {\r\n [key]:\r\n typeof obj[key] === \u0027object\u0027 \u0026\u0026 obj[key].constructor === Object\r\n ? getDeepCloneObj(obj[key])\r\n : obj[key]\r\n }),\r\n {}\r\n );\r\n};\r\n\r\nvar jsonDeepCopy = (obj) =\u003E {\r\n \treturn JSON.parse(JSON.stringify(obj)); \r\n}\r\n\r\n","TestCases":[{"Name":"recursiveDeepCopy","Code":"recursiveDeepCopy(testObj);","IsDeferred":false},{"Name":"jsonDeepCopy","Code":"jsonDeepCopy(testObj);","IsDeferred":false}]}