使用非递归数组转树形结构

目录

1.为什么要用数组转树

2.完成数组转树形结构的方法

这里演示非递归的写法


1.为什么要用数组转树

在我们渲染后台数据时并不是所有的数据都是平铺直叙的,最典型的就是在后台管理平台上,一定会有的员工和部门的上下级管理关系,这是时候我们就需要使用数组转树形结构。

2.完成数组转树形结构的方法

完成该结构的方法有两种递归和非递归

递归:递归算法要求的源数据的格式为:['id'=> 1, name='第一个节点','pid'=>'父级节点'] ,每一个节点的记录格式都是这样的即可满足树形数组的构建。依照先遍历的想法,依次找child,找child的child,往下找child的时候,传入father的地址,之后回溯找下一个child,找下一个孩子的child,最后即完成树形的构建

非递归:使用非递归的方式也可以解决问题,只不过非递归的方式要求数据源格式需要含有层级关系,即为该节点是第几层级的节点,数据源的格式为:['id'=> 1, name='第一个节点',level='1', 'pid'='父级节点'],按照层级进行降序排列,然后先封装最底层的,然后依次往上层组装孩子节点。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值