// 平铺数组转树
export function tranListToTreeData(arr) {
const treeArr = []
const map = {}
arr.forEach(item => {
item.children = []
map[item.id] = item
})
/* console.log(map)
对arr进行循环,对每一个元素item,如果
1.item有上级元素pItem,把item添加到pItem.children
2.item没有上级元素(根据item.pid去找,找不到元素),添加到treeArr
*/
arr.forEach(item => {
const pItem = map[item.pid]
// console.log(pItem);
// console.log(item);
if (pItem) {
pItem.children.push(item)
} else {
treeArr.push(item)
}
})
return treeArr
}
将平铺数据转换为树形结构
最新推荐文章于 2023-06-04 17:18:42 发布
该文章介绍了一个JavaScript函数,用于将包含ID和PID的平铺数组转换为树形数据结构。函数通过遍历数组,将每个元素根据其父ID(pid)添加到对应的父节点的children数组中,没有父节点的元素则添加到根节点数组treeArr中。
摘要由CSDN通过智能技术生成