javascript - 我可以只用一个字符串访问一些嵌套对象中的值吗?
问题描述
我想知道是否可以只用一个字符串访问嵌套对象中的值。假设我有一个这样的对象:
skill: {
skillDetails: {
developerDetails: {
developerName: "mr. developer"
}
}
}
有没有办法我可以做这样的事情,通过“JSON路径”获取价值:skill["skillDetails.developerDetails.developerName"]
?
我问这个的原因是因为我试图将key
& 对象传递给一个基本上返回的函数(我无法修改)object[key]
不确定这是否可能,所以我想我会向你们寻求一些建议。
谢谢!
解决方案
不幸的是,没有快速的内置方法来实现这一点——你需要一个辅助函数。
lodash使用_.get(obj, property)
.
从文档:
var object = { 'a': [{ 'b': { 'c': 3 } }] };
_.get(object, 'a[0].b.c');
// → 3
_.get(object, ['a', '0', 'b', 'c']);
// → 3
_.get(object, 'a.b.c', 'default');
// → 'default'
推荐阅读
- html - 如何一次将一个选项从一个选择克隆到另一个?
- python - RSA Python 问题
- r - 更改随机效应分组变量的标签会更改 lme4 中的结果
- http - 在 JMeter 中发送 HTTP POST 时,正文中的二进制数据已损坏
- rust - 从闭包调用可变方法时无法推断 autoref 的生命周期
- python - 用 lambda 替换符号
- android - 使用Android MediaCodec编解码AAC,从输出缓冲区获取结果,结果计数混乱
- dashboard - 定制的 IPFS 仪表板
- c - 使用 for 循环将字符附加到 C 中的字符串中
- vba - 使用新文件名将 Word Doc 转换为 PDF 并附加到新电子邮件