/*
1.数据按照父节点id排序,注意有些父节点的id格式不规范,不规范要先整理格式
2.遍历整理后的数据,利用对象浅拷贝的特性,如果当前parentid存在map中,就更新map里对应id的children,会同步更新treedata,并且在map中加入一条新的数据,防止有链式数据
如果当前parentid不存在map中,就向map中加入一条新的数据,并且将这条数据加入treedata中,
*/
const toTree = ()=>{
const str = arr.sort((a,b)=>a.parentId-b.parentId)
const map= new Map()
const treeData =[]
let obj
for(let i= 0
if(map.has(str[i].parentId)){
if(!map.get(str[i].parentId).children)map.get(str[i].parentId).children =[]
const a= new Object(str[i])
map.get(str[i].parentId).children.push(a)
map.set(str[i].id,a)
}else{
obj= new Object(str[i])
treeData.push(obj)
map.set(str[i].id,obj)
}
}
return treeData
}