我有以下字符串:
const str = "prop1.prop2.prop3"
Run Code Online (Sandbox Code Playgroud)
我想使用这个字符串来访问以下对象的属性 prop3:
const obj = {
prop1: {
prop2:{
prop3:{
// ---- destination point
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
但我不知道该怎么做?一定有什么东西不断地添加obj[currentProp]等等。还有..没有更快的方法吗?我担心我把时间浪费在更容易实现的事情上
小智 12
这就是我的方法:
const access = (path, object) => {
return path.split('.').reduce((o, i) => o[i], object)
}
const obj = {
prop1: {
prop2: {
prop3: {
value: 'foo'
}
}
}
}
const str = 'prop1.prop2.prop3'
console.log(access(str, obj)) // {"value": "foo"}
Run Code Online (Sandbox Code Playgroud)