如何使用字符串正确获取对象的值?
我有以下代码:
let o = { dispatcher: { initials: 'abc' } }
o["dispatcher.initials"]
# undefined
我已经得到的字符串就是这样的“ dispatcher.initials”。我不能使用这样的字符串吗?
我希望得到值abc
答案 0 :(得分:0)
如果要创建一个从路径获取属性的函数,则可以使用split()
和reduce()
let o = { dispatcher: { initials: 'abc' } }
const getVal = (obj,path) => path.split('.').reduce((ac,a) => (ac || {})[a],obj);
console.log(getVal(o,"dispatcher.initials"))
答案 1 :(得分:0)
您可以split
字符串和reduce
遍历数组。
let o = { dispatcher: { initials: 'abc' } };
let str = "dispatcher.initials";
let result = str.split(".").reduce((c,v)=> c != null ? c[v] : null ,o);
console.log(result);