通过字符串路径检索嵌套对象值
查询:
函数如何优雅通过指定所需值的字符串路径来提取嵌套对象值?
目标:
创建具有以下所需行为的函数:
var obj = { foo: { bar: 'baz' } }; function(obj, "foo.bar") -> 'baz'
解决方案:
要实现此目的,请考虑利用以下函数:
var deep_value = function(obj, path){ var pathComponents = path.split('.'); for (var i = 0; i < pathComponents.length; i++){ obj = obj[pathComponents[i]]; } return obj; };
此函数利用字符串路径作为指导,有效地导航对象层次结构,提取所需的值。
演示:
函数功能演示:
var obj = { foo: { bar: 'baz' } }; console.log(deep_value(obj, "foo.bar")); // Output: 'baz'
注意:
为了处理所需值可能不存在的情况,可以修改函数以在这种情况下返回 undefined。
以上是如何使用字符串路径查询检索嵌套对象值?的详细内容。更多信息请关注PHP中文网其他相关文章!