函数封装之—实现扁平化数据转换为树形数据
使用场景:
eg:公司组织架构
逻辑:
通过递归函数把原本通过pid 进行上下级关联的数据转成element ui 要求的 children 嵌套的树形数据结构,原本的数据结构中,子的 pid = 父的 id
实现:
/** *
*
* 将列表型的数据转化成树形数据 => 递归算法 => 自身调用自身 => 一定条件不能一样,否则就会死循环
* 遍历树形 有一个重点 要先找一个头儿
* @param Array String
* @returns Array
* ***/
export function tranListToTreeData(list, rootValue) {
const arr = []
list.forEach(item => {
if (item.pid === rootValue) {
item.children = tranListToTreeData(list, item.id)
arr.push(item)
}
})
return arr
}