【发布时间】:2017-10-20 10:48:57
【问题描述】:
我想从平面数组构建一个树数组:
这是平面数组:
nodes = [
{id: 1, pid: 0, name: "kpittu"},
{id: 2, pid: 0, name: "news"},
{id: 3, pid: 0, name: "menu"},
{id: 4, pid: 3, name: "node"},
{id: 5, pid: 4, name: "subnode"},
{id: 6, pid: 1, name: "cace"}
];
注意:id = 节点id; pid = 父节点 ID。
我想把它变成这个数组:
nodes = [{
id: 1,
name: 'kpittu',
childs: [{
id: 6,
name: 'cace'
}]
}, {
id: 2,
name: 'news'
}, {
id: 3,
name: 'menu',
childs: [{
id: 4,
name: 'node',
childs: [{
id: 5,
name: 'subnode'
}]
}]
}];
我尝试使用递归函数来实现预期结果,但我正在寻找更好的方法。感谢您的回复。
【问题讨论】:
-
请同时添加您的功能。
-
建议,如果你自己不弄清楚,你将无法学习或练习你的递归知识,而是回答这个问题的人
标签: javascript angular typescript