用js实现id.pid树结构

var nodes = [
{id:2,name:‘节点2’,parentId:6},
{id:3,name:‘节点3’,parentId:1},
{id:6,name:‘节点6’,parentId:null},
{id:4,name:‘节点4’,parentId:3},
{id:1,name:‘节点1’,parentId:2},
{id:7,name:‘节点7’,parentId:2},
{id:10,name:‘节点10’,parentId:7},
{id:9,name:‘节点9’,parentId:8},
{id:8,name:‘节点8’,parentId:1}
]

var newNodes = {}
nodes.map(function(cur,i,arr){
    newNodes[cur.id] = cur;
})

var list = [];
for(var i = 0;i < nodes.length; i++){
    var parent = newNodes[nodes[i].parentId];
    if(parent){
        ((parent['children']) || (parent['children']=[])).push(nodes[i]);
    }else{
        list.push(nodes[i])
    }
}
console.log(list)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值