coolair
V2EX  ›  问与答

JavaScript 对象怎么连接访问?

By coolair at 2021 年 8 月 6 日 · 1351 次点击

比如有一个 object:

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

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

4 条回复  •  2021-08-06 13:38:47 +08:00
codehz
   1
codehz  
   2021 年 8 月 6 日
const lens = (obj, path) => path.split(".").reduce((o, key) => o && o[key] ? o[key] : null, obj);
lens(x, key);
fishlium
   2
fishlium  
   2021 年 8 月 6 日
3dwelcome
   3
3dwelcome  
   2021 年 8 月 6 日 via Android
lodash 的 at 函数。
jifengg
   4
jifengg  
   2021 年 8 月 6 日
如果没有安全隐患,可以使用 eval:
eval("x."+key)
© 2026 V2EX · 50ms · 3.9.8.5