思路分析:
1.一级数据的相同点是pid为''
2.二级数据和一级数据的相同点是pid和一级数据的id相同
3.第一步先声明一个空数组
4.先筛选出一级数据
5.递归这个函数筛选出二级数据
6.筛选出二级数据赋值给有二级数据的一级
7.给arr添加数据并return返回
数据结构
// 封装函数将列表型数据转换成树形数据结构
// list:要转换的数据
// value:根数据
export function transListToTree(list, value) {
console.log(list)
// 声明一个空数组
const arr = []
// 循环这个数组
list.forEach(item => {
// 筛选
if (item.pid === value) {
// 重新调用这个函数
const children = transListToTree(list, item.id)
if (children.length > 0) {
item.children = children
}
arr.push(item)
}
})
return arr
}
transListToTree(depts, '')