Javascript 节点js:如果变量名为字符串,是否访问json?
我有如下json对象Javascript 节点js:如果变量名为字符串,是否访问json?,javascript,json,node.js,variables,Javascript,Json,Node.js,Variables,我有如下json对象 var data = { datetime:{ time:"9:30 AM", date:"24-09-2017" } } 我有stringvar element=“data.datetime.time”如何使用元素访问时间。字符串(点作为分隔符),并用于从对象提取数据: var数据={ 日期时间:{ 时间:“上午9:30”, 日期:“2017年9月24日” } } var element=“data.datetime.time”; v
var data = {
datetime:{
time:"9:30 AM",
date:"24-09-2017"
}
}
我有stringvar element=“data.datetime.time”
如何使用元素访问时间。字符串(点作为分隔符),并用于从对象提取数据:
var数据={
日期时间:{
时间:“上午9:30”,
日期:“2017年9月24日”
}
}
var element=“data.datetime.time”;
var result=element.split('.').reduce(函数(r,p){
return typeof r=='object'?r[p]:null;//如果r是对象,则返回prop值,如果不返回null
},{data:data});
控制台日志(结果)代码>我刚刚找到了这个问题的答案
简单地说,我们可以使用eval()
对不起,我打错了…真的很有效…谢谢@guest271314
new Function(`return ${element}`)()
var data = {
datetime:{
time:"9:30 AM",
date:"24-09-2017"
}
}
var element = "data.datetime.time";
console.log(eval(element));