如何编写表示对象查找路径的函数

Posted

技术标签:

【中文标题】如何编写表示对象查找路径的函数【英文标题】:How to write a function which represents an object lookup path 【发布时间】:2021-12-29 13:27:57 【问题描述】:

编写一个函数,它接受一个对象和一个字符串,它表示一个对象查找路径,例如“something1.something2”。该函数应返回特定路径上的值。 示例:

const lookup = (obj, path) => ....
const obj =  something1:  something2: "Mouse", something3: 'Cat'  ;
const path = 'something1.something2'
console.log(lookup(obj, path));

结果: '鼠标'

【问题讨论】:

这和java有什么关系? 请看catchts.com/deep-pick和***.com/questions/69126879/… 【参考方案1】:

您可以使用split,然后使用方括号动态引用该属性

const lookup = (obj, path) => 
    const paths = path.split('.');
    return obj[paths[0]][paths[1]];


const obj =  something1:  something2: "Mouse", something3: 'Cat'  ;
const path = 'something1.something2'

console.log(lookup(obj, path));

【讨论】:

以上是关于如何编写表示对象查找路径的函数的主要内容,如果未能解决你的问题,请参考以下文章

如何为 PyYAML 编写表示器?

如何编写一个函数来并行查找大于 N 的值

如何编写 R 函数来查找数据框中的特定条件

c#编写的软件如何多开

如何编写通用的 memoize 函数?

编写一个函数对对象数组进行排序(通过使用另一个对象来指定排序路径和顺序)