在后台管理系统中将后端返回的列表数据转换成树形结构

该代码段展示了一种将列表数据转化为树形结构的方法,主要针对具有层级关系的数据,如部门结构。函数通过遍历列表并递归调用自身来构建多级树结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

// 把列表转化为树形结构

export function listToTreeData(arr, id) {

const list = []

arr.forEach(item => {

// 筛选一级部门,当部门的pid为空的时候则表示是一级部门(!!此时foreach筛选出来的都是一级部门了,等会儿找二级,就只需要在找到的一级部门这个循环里面进行了)

if (item.eqptId == id) {

list.push(item)

// 筛选二级部门方法一

// item.children = []

// // 筛选二级部门,因为二级部门也在刚才那堆数据里面,所以还是循环这个arr

// arr.forEach(val => {

// if (val.eqptId === item.id) {

// item.children.push(val)

// }

// })

// // 筛选三级部门

// item.children.forEach(v=>{

// if(v.eqptId === val.id) {

// item.children.children.push(v)

// }

// })

// 筛选二级部门方法二

// 此时就是循环,把上次循环得到的数组再次注入该数组进行循环,此时item.id相当于刚才的id

item.children = listToTreeData(arr, item.id)

// 筛选三级部门方法

item.children.children = listToTreeData(arr,item.children.id)

}

})

return list

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值