我有一个包含许多复选框的树表。每个复选框都存储结构本身。例如/root/entity_child/0/entity_child/1
。从这些数据中,我想使用它并从我的Json数据中读取Json对象。
为了获得正确的数据,我需要像mydata.root.entity_child [0] .entity_child [1]这样的东西。但是我不知道应该如何应用我的原始数据来获取我想要的数据。
假设我有/root/entity_child/0/entity_child/1
字符串,如何将其转换为mydata.root.entity_child[0].entity_child[1] in javascript?
有什么想法吗?
答案 0 :(得分:0)
从你的问题来看,目前尚不清楚你是否需要:
mydata.root.entity_child[0].entity_child[1]
,"mydata.root.entity_child[0].entity_child[1]"
如果您想要该值,则可以将字符串拆分为"/"
并循环:
function getValue(path, from){
var splitStr = path.substr(1).split('/');
var val = from;
for(var i = 0; i < splitStr.length; i ++){
val = val[splitStr[i]];
}
return val;
}
getValue('/root/entity_child/0/entity_child/1', mydata);
或者,如果您只想要字符串,那么您可以使用正则表达式在一行中完成所有操作:
'mydata' + '/root/entity_child/0/entity_child/1'.replace(/\/([0-9]+)/g, "[$1]").replace(/\//g, '.');