{"ScriptPreparationCode":"var families = {\r\n \u0022Trump\u0022: {\r\n \u0022members\u0022: {\r\n \u0022father\u0022: {\r\n \u0022children\u0022: [{\r\n \u0022name\u0022: \u0022Berta\u0022,\r\n \u0022age\u0022: \u002218\u0022\r\n },\r\n {\r\n \u0022name\u0022: \u0022Collado\u0022,\r\n \u0022age\u0022: \u002281\u0022\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n};\r\n\r\nvar getValueByPath = function(root) {\r\n return function(path, def) {\r\n var result = path.split(\u0027.\u0027).reduce(function(object, piece) {\r\n return (object || {})[piece];\r\n }, root);\r\n if (result === undefined || result === null) {\r\n return def;\r\n }\r\n return result;\r\n };\r\n};","TestCases":[{"Name":"Native","Code":"getValueByPath(families)(\u0027Trump.members.father.children.0.name\u0027, \u0027Johan\u0027)","IsDeferred":false},{"Name":"Lodash.js get","Code":"_.get(families, \u0027Trump.members.father.children[0]name\u0027, \u0027Johan\u0027);","IsDeferred":false}]}