<script>
const list = [
{
id: 1,
name: '张三',
age: 20,
pid: 0,
},
{
id: 2,
name: '李四',
age: 30,
pid: 0,
},
{
id: 3,
name: '王五',
age: 40,
pid: 0,
},
{
id: 4,
pid: 3,
name: '王五',
age: 40,
},
{
id: 5,
pid: 3,
name: '王五',
age: 40,
},
{
id: 6,
pid: 2,
name: '李四',
age: 30,
},
{
id: 7,
pid: 2,
name: '李四',
age: 30,
},
{
id: 8,
pid: 2,
name: '李四',
age: 30,
},
]
// 数组转树
function list2tree(arr, pid = '') {
let tree = []
arr.forEach((item) => {
if (item.pid === pid) {
tree.push(item)
const children = list2tree(arr, item.id)
if (children.length > 0) {
item.children = children
}
}
})
return tree
}
console.log(list2tree(list, 0))
</script>
前端数组转树型
最新推荐文章于 2024-05-15 17:00:19 发布