目录
1.为什么要用数组转树
在我们渲染后台数据时并不是所有的数据都是平铺直叙的,最典型的就是在后台管理平台上,一定会有的员工和部门的上下级管理关系,这是时候我们就需要使用数组转树形结构。
2.完成数组转树形结构的方法
完成该结构的方法有两种递归和非递归
递归:递归算法要求的源数据的格式为:['id'=> 1, name='第一个节点','pid'=>'父级节点'] ,每一个节点的记录格式都是这样的即可满足树形数组的构建。依照先遍历的想法,依次找child,找child的child,往下找child的时候,传入father的地址,之后回溯找下一个child,找下一个孩子的child,最后即完成树形的构建
非递归:使用非递归的方式也可以解决问题,只不过非递归的方式要求数据源格式需要含有层级关系,即为该节点是第几层级的节点,数据源的格式为:['id'=> 1, name='第一个节点',level='1', 'pid'='父级节点'],按照层级进行降序排列,然后先封装最底层的,然后依次往上层组装孩子节点。