将一维数组转为树结构的数据

let allRes = [
{id: 1, title: "公司",expand:true, pid: 0},
{id: 60, title: "总经理",expand:true, pid: 1},
{id: 66, title: "业务1部",expand:true, pid: 1},
{id: 76, title: "总经理助理1", expand:true,pid: 60},
{id: 77, title: "总经理助理2", expand:true,pid: 66},
{id: 63, title: "财务部",expand:true, pid: 1},
{id: 64, title: "会计", expand:true, pid: 63},
{id: 65, title: "出纳",expand:true, pid: 63},
{id: 68, title: "总监",expand:true, pid: 66},
{id: 70, title: "总监", expand:true,pid: 67},
{id: 81, title: "test",expand:true, pid: 67},
{id: 71, title: "业务员",expand:true, pid: 66},
{id: 75, title: "会计员", expand:true, pid: 64}
];



let result = allRes.reduce(function(prev, item) {

prev[item.pid] ? prev[item.pid].push(item) : prev[item.pid] = [item];
return prev;
}, {});
for (let prop in result) {
console.log(result[prop])
result[prop].forEach(function(item, i) {
result[item.id] ? item.children = result[item.id] : ''
});
}

result = result[0];

转载于:https://www.cnblogs.com/HONGYE1994/p/9598871.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值