嗨在javascript中,我必须从字符串创建对象树,如下所示
“组 1:节点 1:属性,组 1:节点 2:属性,组 2:节点 2:属性,组 2:节点 3:属性,组 2:节点 1:属性,组 3:节点 2:属性”。
在此,属性也是:分离的,
我需要对象树如下
组 1 节点1 特性 节点2 特性 组2 节点2 特性 节点3 特性 节点1 特性 组3 节点2 特性
任何人都可以通过示例告诉我什么是最好的方法。
嗨在javascript中,我必须从字符串创建对象树,如下所示
“组 1:节点 1:属性,组 1:节点 2:属性,组 2:节点 2:属性,组 2:节点 3:属性,组 2:节点 1:属性,组 3:节点 2:属性”。
在此,属性也是:分离的,
我需要对象树如下
组 1 节点1 特性 节点2 特性 组2 节点2 特性 节点3 特性 节点1 特性 组3 节点2 特性
任何人都可以通过示例告诉我什么是最好的方法。
虽然这似乎是一个学校练习......我认为你需要看看 split() 方法。首先拆分逗号 (,),然后拆分冒号 (:)。例如..
看看这个:http: //jsfiddle.net/T852c/
var str = 'group1:node1:properties,group1:node2:properties,group2:node2:properties,group2:node3:properties,group2:node1:properties,group3:node2:properties';
var result ={},
groups = str.split(','),
groupsCount = groups.length;
for(var i=groupsCount; i--;){
var groupStr = groups[i],
split = groupStr.split(':'),
groupKey = split[0],
nodeKey = split[1],
properties = split[2],
group = result[groupKey] || (result[groupKey] = {}),
node = group[nodeKey] || (group[nodeKey] = {});
node[properties] = { foo: 'bar' };
}
console.log(result);
它可能不是您正在寻找的东西,但它可能有助于您入门。祝你好运!