export function transTree(souceData) {
const targetData = []
// 以每一项的id作为key,自身作为value形成对象结构
const map = {}
souceData.forEach(item => {
map[item.id] = item
item.children = []
})
// 遍历数组通过pid去匹配id,匹配到就添加到chilren属性中,匹配不到代表自身就是最外层的父节点,添加到最终的数组中
souceData.forEach(item => {
if (map[item.pid]) {
// 匹配上
map[item.pid].children.push(item)
} else {
// 没有匹配上
targetData.push(item)
}
})
// 返回的是处理之后的数组
return targetData
}
扁平化数据处理树形数据
于 2024-07-11 15:38:59 首次发布