data = [ {id:1, pid:0}, {id:2, pid:1}, {id:3, pid:1}, {id:4, pid:3}, {id:5, pid:2}, {id:6, pid:0}, ] parents = {} data.forEach((v,k)=>{ console.log(k, v) if (!parents[v["pid"]]) { parents[v["pid"]] = [] } parents[v["pid"]].push(v) }) console.log(parents)
for(key in parents){
getChildsDem(parents[key])
}
function getChildsDem(val) {
val.forEach((v,k)=>{
if (!parents[v["id"]]) {
v.children = []
return false;
}
v.children = parents[v["id"]];
})
}
console.log(parents[0])//当前是返回树结构
function getChilds(id) { if (!parents[id]) { return [] } var childs = parents[id]; return childs; }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步