如何在javascript中从字符串创建对象树

时间:2013-10-30 12:28:23

标签: javascript

嗨在javascript中我必须从字符串创建对象树,如下所示

“组1:节点1:性能,组1:节点2:性能,组2:节点2:性能,组2:节点3:性质,组2:节点1:性能,组3:节点2:属性”。

在此,属性也是:分离,

我需要对象树,如下所示

group1
   node1
     properties
   node2
     properties
group2
   node2
     properties
   node3
     properties
   node1
     properties
group3
   node2
     properties

任何机构都可以通过示例告诉我这样做的最佳方法是什么。

1 个答案:

答案 0 :(得分: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);

这可能不是您正在寻找的,但它可能有助于您入门。祝你好运!