Javascript 如何使用字符串作为目标对象?
我正在尝试使用Javascript 如何使用字符串作为目标对象?,javascript,Javascript,我正在尝试使用字符串以对象为目标 更改str=“a.b.c” 至a.b.c 我所拥有的 a={ b:{ c:{ d:‘工作’ } } } 功能go(o,v){ console.log(str[v]) } str=“a.b.c”//对对象的引用 go(str,“d”)要使用名为对象路径的库: 这样,您可以通过以下方式访问值: str = "a.b.c" objectPath.get(a, str); 您可以尝试使用eval()函数 a={b:{c:{d:'working'}} 功
字符串
以对象为目标
更改
str=“a.b.c”
至a.b.c
我所拥有的
a={
b:{
c:{
d:‘工作’
}
}
}
功能go(o,v){
console.log(str[v])
}
str=“a.b.c”//对对象的引用
go(str,“d”)
要使用名为对象路径的库
:
这样,您可以通过以下方式访问值:
str = "a.b.c"
objectPath.get(a, str);
您可以尝试使用eval()函数
a={b:{c:{d:'working'}}
功能go(o,v){
console.log(eval(str)[v])
}
str=“a.b.c”
go(str,“d”)
您可以在“
上拆分字符串,然后在生成的数组上使用reduce()
函数迭代钻取对象:
var a={
b:{
c:{
d:‘工作’
}
}
};
功能go(o,v){
返回值(o+“+v).拆分(“.”).减少((y,z)=>y[z],此);
}
var结果=go('a.b.c','d');
控制台日志(结果)代码>无论如何,你为什么要这样做?这是没有意义的,因为您可以只使用对象语法a.b.c.d
。