【问题标题】:Given the path of property key, how to retrieve it? [duplicate]给定属性键的路径,如何检索它? [复制]
【发布时间】:2017-11-16 20:21:56
【问题描述】:

假设我有一个对象myObj 我有一个字符串,表示其中的某些属性的路径:foo.bar

从我的对象中获取它的最佳方法是什么?

如果我知道前面的字符串,我会做myObj.foo && myObj.foo.bar 来安全地拿到它

一个简单的解决方案是拆分字符串'foo.bar'.split('.'),然后循环遍历它。

但我相信有更好的方法


这是其他问题的重复。他们提供了一个很好的解决方案:

给定 pathobj 以这种方式获取属性值

path.split('.').reduce((o, i) => o[i], obj)

【问题讨论】:

    标签: javascript node.js ecmascript-6


    【解决方案1】:

    一个简单的解决方案是拆分字符串'foo.bar'.split('.'),然后循环遍历它。

    是的,这听起来是最好的方法。您可以创建一个完全执行此操作的辅助方法,但语言或标准库中没有任何东西可以使事情变得比这更简单。

    function getFromPath(obj, path) {
     var current = obj;
     for(let piece of path.split('.')) {
      current = current[piece];
     }
     return current;
    }
    

    用法:

    getFromPath({foo: {bar: "hello"}}, "foo.bar"); // "hello"
    

    【讨论】:

      猜你喜欢
      • 2011-05-09
      • 1970-01-01
      • 2013-09-24
      • 2012-01-16
      • 2013-06-16
      • 1970-01-01
      • 1970-01-01
      • 2020-01-06
      • 2010-12-30
      相关资源
      最近更新 更多