打平的数组换成树形数组:输入:[ ( id: 1, parentld:null} ,( id: 2, parentid:1},{id:3,parentid:2}]输出:[ ( id: 1, children:} ,( id: 2, children:[{id:3,2}]
时间: 2023-06-04 13:08:45 浏览: 141
平级数组结构组合成树形机构
抱歉,我可以回答这个问题。可以通过以下方法将打平的数组转换为树形数组:
```
function generateTree(arr, parentid) {
var tree = [];
for(var i=0; i<arr.length; i++) {
if(arr[i].parentid === parentid) {
var node = {
id: arr[i].id,
children: generateTree(arr, arr[i].id)
};
tree.push(node);
}
}
return tree;
}
var arr = [
{id: 1, parentid: null},
{id: 2, parentid: 1},
{id: 3, parentid: 2}
];
generateTree(arr, null);
```
输出结果为:
```
[
{
id: 1,
children: [
{
id: 2,
children: [
{
id: 3,
children: []
}
]
}
]
}
]
```
阅读全文