{"ScriptPreparationCode":"var obj = {\r\n a: { b: { c: \u0027CCC\u0027 } }\r\n};\r\n\r\nfunction get1(obj, path) {\r\n var parts = path.split(\u0027.\u0027);\r\n var property = Object.assign({}, obj);\r\n\r\n for (var i = 0; i \u003C parts.length; i\u002B\u002B ) {\r\n property = property[parts[i]];\r\n\r\n if (!property) {\r\n property = undefined;\r\n break;\r\n }\r\n }\r\n\r\n return property;\r\n}\r\n\r\nfunction get2(obj) {\r\n var res;\r\n\r\n Object.keys(obj).forEach((key1) =\u003E {\r\n switch(key1) {\r\n case \u0027a\u0027:\r\n Object.keys(obj[key1]).forEach((key2) =\u003E {\r\n switch(key2) {\r\n case \u0027b\u0027:\r\n Object.keys(obj[key1][key2]).forEach((key3) =\u003E {\r\n switch(key3) {\r\n case \u0027c\u0027:\r\n res = obj[key1][key2][key3];\r\n break;\r\n }\r\n });\r\n break;\r\n }\r\n });\r\n break;\r\n }\r\n });\r\n\r\n return res;\r\n}\r\n\r\nfunction get3(obj, path) {\r\n var parts = path.split(\u0027.\u0027);\r\n\r\n return parts.reduce((xs, x) =\u003E (xs \u0026\u0026 xs[x]) ? xs[x] : null, obj)\r\n}","TestCases":[{"Name":"get1","Code":"get1(obj, \u0027a.b.c\u0027)","IsDeferred":false},{"Name":"get2","Code":"get2(obj)","IsDeferred":false},{"Name":"get3","Code":"get3(obj, \u0027a.b.c\u0027)","IsDeferred":false}]}