{"ScriptPreparationCode":"var MyObject = {\r\n \u0022list\u0022: {\r\n \u00220oVwOM\u0022: {\r\n \u0022id\u0022: \u00220oVwOM\u0022,\r\n \u0022parent\u0022: \u0022pTlmbh\u0022,\r\n \u0022name\u0022: \u0022New node\u0022,\r\n \u0022created_at\u0022: 1384289621\r\n },\r\n \u0022aHxe8k\u0022: {\r\n \u0022id\u0022: \u0022aHxe8k\u0022,\r\n \u0022parent\u0022: \u0022Fhs2hL\u0022,\r\n \u0022name\u0022: \u0022hjkhjkhjk\u0022,\r\n \u0022created_at\u0022: 1384354593\r\n },\r\n \u0022Fhs2hL\u0022: {\r\n \u0022id\u0022: \u0022Fhs2hL\u0022,\r\n \u0022parent\u0022: \u0022root\u0022,\r\n \u0022name\u0022: \u0022test\u0022,\r\n \u0022created_at\u0022: 1383403881\r\n },\r\n \u0022HYPSgv\u0022: {\r\n \u0022id\u0022: \u0022HYPSgv\u0022,\r\n \u0022parent\u0022: \u00220oVwOM\u0022,\r\n \u0022name\u0022: \u0022New node\u0022,\r\n \u0022created_at\u0022: 1384342657\r\n },\r\n \u0022osFIMf\u0022: {\r\n \u0022id\u0022: \u0022osFIMf\u0022,\r\n \u0022parent\u0022: \u0022root\u0022,\r\n \u0022name\u0022: \u0022New node\u0022,\r\n \u0022created_at\u0022: 1384354584\r\n },\r\n \u0022PsovXE\u0022: {\r\n \u0022id\u0022: \u0022PsovXE\u0022,\r\n \u0022parent\u0022: \u0022root\u0022,\r\n \u0022name\u0022: \u0022hjkhjkhjk\u0022,\r\n \u0022created_at\u0022: 1384354589\r\n },\r\n \u0022pTlmbh\u0022: {\r\n \u0022id\u0022: \u0022pTlmbh\u0022,\r\n \u0022parent\u0022: \u0022Fhs2hL\u0022,\r\n \u0022name\u0022: \u0022New node\u0022,\r\n \u0022created_at\u0022: 1384289277\r\n },\r\n \u0022RbXhdJ\u0022: {\r\n \u0022id\u0022: \u0022RbXhdJ\u0022,\r\n \u0022parent\u0022: \u0022root\u0022,\r\n \u0022name\u0022: \u0022empty\u0022,\r\n \u0022created_at\u0022: 1384359806\r\n }\r\n },\r\n \u0022maps\u0022: {\r\n \u0022parent\u0022: {\r\n \u0022pTlmbh\u0022: {\r\n \u00220oVwOM\u0022: {\r\n \u0022id\u0022: \u00220oVwOM\u0022,\r\n \u0022parent\u0022: \u0022pTlmbh\u0022,\r\n \u0022name\u0022: \u0022New node\u0022,\r\n \u0022created_at\u0022: 1384289621\r\n }\r\n },\r\n \u0022Fhs2hL\u0022: {\r\n \u0022aHxe8k\u0022: {\r\n \u0022id\u0022: \u0022aHxe8k\u0022,\r\n \u0022parent\u0022: \u0022Fhs2hL\u0022,\r\n \u0022name\u0022: \u0022hjkhjkhjk\u0022,\r\n \u0022created_at\u0022: 1384354593\r\n },\r\n \u0022pTlmbh\u0022: {\r\n \u0022id\u0022: \u0022pTlmbh\u0022,\r\n \u0022parent\u0022: \u0022Fhs2hL\u0022,\r\n \u0022name\u0022: \u0022New node\u0022,\r\n \u0022created_at\u0022: 1384289277\r\n }\r\n },\r\n \u0022root\u0022: {\r\n \u0022Fhs2hL\u0022: {\r\n \u0022id\u0022: \u0022Fhs2hL\u0022,\r\n \u0022parent\u0022: \u0022root\u0022,\r\n \u0022name\u0022: \u0022test\u0022,\r\n \u0022created_at\u0022: 1383403881\r\n },\r\n \u0022osFIMf\u0022: {\r\n \u0022id\u0022: \u0022osFIMf\u0022,\r\n \u0022parent\u0022: \u0022root\u0022,\r\n \u0022name\u0022: \u0022New node\u0022,\r\n \u0022created_at\u0022: 1384354584\r\n },\r\n \u0022PsovXE\u0022: {\r\n \u0022id\u0022: \u0022PsovXE\u0022,\r\n \u0022parent\u0022: \u0022root\u0022,\r\n \u0022name\u0022: \u0022hjkhjkhjk\u0022,\r\n \u0022created_at\u0022: 1384354589\r\n },\r\n \u0022RbXhdJ\u0022: {\r\n \u0022id\u0022: \u0022RbXhdJ\u0022,\r\n \u0022parent\u0022: \u0022root\u0022,\r\n \u0022name\u0022: \u0022empty\u0022,\r\n \u0022created_at\u0022: 1384359806\r\n }\r\n },\r\n \u00220oVwOM\u0022: {\r\n \u0022HYPSgv\u0022: {\r\n \u0022id\u0022: \u0022HYPSgv\u0022,\r\n \u0022parent\u0022: \u00220oVwOM\u0022,\r\n \u0022name\u0022: \u0022New node\u0022,\r\n \u0022created_at\u0022: 1384342657\r\n }\r\n }\r\n },\r\n \u0022path\u0022: [\r\n [\u0022Fhs2hL\u0022],\r\n [\u0022Fhs2hL\u0022, \u0022aHxe8k\u0022],\r\n [\u0022Fhs2hL\u0022, \u0022pTlmbh\u0022],\r\n [\u0022Fhs2hL\u0022, \u0022pTlmbh\u0022, \u00220oVwOM\u0022],\r\n [\u0022Fhs2hL\u0022, \u0022pTlmbh\u0022, \u00220oVwOM\u0022, \u0022HYPSgv\u0022],\r\n [\u0022osFIMf\u0022],\r\n [\u0022PsovXE\u0022],\r\n [\u0022RbXhdJ\u0022]\r\n ]\r\n }\r\n };\r\n\r\nvar myCopy = null;\r\n\r\nfunction recursiveDeepCopy(o) {\r\n var newO,\r\n i;\r\n \r\n if (typeof o !== \u0027object\u0027) {\r\n return o;\r\n }\r\n if (!o) {\r\n return o;\r\n }\r\n \r\n if (\u0027[object Array]\u0027 === Object.prototype.toString.apply(o)) {\r\n newO = [];\r\n for (i = 0; i \u003C o.length; i \u002B= 1) {\r\n newO[i] = recursiveDeepCopy(o[i]);\r\n }\r\n return newO;\r\n }\r\n \r\n newO = {};\r\n for (i in o) {\r\n if (o.hasOwnProperty(i)) {\r\n newO[i] = recursiveDeepCopy(o[i]);\r\n }\r\n }\r\n return newO;\r\n }","TestCases":[{"Name":"Lodash CloneDeep","Code":"myCopy = _.cloneDeep(MyObject);","IsDeferred":false},{"Name":"Json Clone","Code":"myCopy = JSON.parse(JSON.stringify(MyObject));","IsDeferred":false},{"Name":"recursiveDeepCopy","Code":"myCopy = recursiveDeepCopy(MyObject);","IsDeferred":false}]}