JavaScript 对象怎么连接访问?

2021-08-06 11:39:20 +08:00
 coolair

比如有一个 object:

let x={'a': {'b': 1, 'c': 2}
let key='a.b'

实际情况可能深度更深,怎么获取到 x.a.b?

763 次点击
所在节点    问与答
4 条回复
codehz
2021-08-06 11:45:43 +08:00
const lens = (obj, path) => path.split(".").reduce((o, key) => o && o[key] ? o[key] : null, obj);
lens(x, key);
fishlium
2021-08-06 11:46:07 +08:00
3dwelcome
2021-08-06 11:49:16 +08:00
lodash 的 at 函数。
jifengg
2021-08-06 13:38:47 +08:00
如果没有安全隐患,可以使用 eval:
eval("x."+key)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/794035

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX