qub*_*00n 2 javascript tree json
我该如何转换这样一个制表符分隔的文本树:
a
a1
a3
a2
Run Code Online (Sandbox Code Playgroud)
变成这样的 JSON 格式树:
[
{
"name":"a",
"children":[
{
"name":"a1",
"children":[
{
"name":"a3",
"children":[]
}
]
},
{
"name":"a2"
"children":[]
}
]
}
]
Run Code Online (Sandbox Code Playgroud)
在 JavaScript 中?我想你明白了,我想将制表符\t分隔的树结构转换为 JSON 树结构。谢谢!
您可以将数据拆分为行和单独的选项卡,以获取级别和名称。
要创建一棵树,需要一个已知级别的数组,并将每个新节点分配给级别的数组和下一个级别。
var data = 'a\n\ta1\n\t\ta3\n\ta2',
tree = [];
levels = [tree];
data
.split('\n')
.forEach(s => {
const [{ length: level }, name] = s.split(/([^\t]+)/);
levels[level].push({ name, children: levels[level + 1] = [] });
});
console.log(tree);Run Code Online (Sandbox Code Playgroud)
.as-console-wrapper { max-height: 100% !important; top: 0; }Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |