<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
let list = [
{parent:null,children:1,id:1},
{parent:null,children:2,id:2},
{parent:1,children:3,id:3},
{parent:1,children:null,id:4},
{parent:2,children:null,id:5},
{parent:2,children:null,id:6},
{parent:3,children:null,id:7},
]
let result = []
//先把最外层的父级找到
list.forEach(item=>{
if(!item.parent){
result.push(item)
}
})
run(result)
function run(x){
x.forEach(item=>{
if(item.children){
item.l = []
}
list.forEach((ite,index)=>{
if(item.children){
if(item.children === ite.parent){
item.l.push(ite)
}
}
})
if(item.children){
run(item.l)
}
})
}
console.log(result)
</script>
</body>
</html>
js递归凑树形结构
最新推荐文章于 2024-05-06 16:46:31 发布