数组转树结构
灵感胜于汗水 Lv5

数组转树结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
let data = [
{ id: 0, parentId: null, name: '生物' },
{ id: 1, parentId: 0, name: '动物' },
{ id: 2, parentId: 0, name: '植物' },
{ id: 3, parentId: 0, name: '微生物' },
{ id: 4, parentId: 1, name: '哺乳动物' },
{ id: 5, parentId: 1, name: '卵生动物' },
{ id: 6, parentId: 2, name: '种子植物' },
{ id: 7, parentId: 2, name: '蕨类植物' },
{ id: 8, parentId: 4, name: '大象' },
{ id: 9, parentId: 4, name: '海豚' },
{ id: 10, parentId: 4, name: '猩猩' },
{ id: 11, parentId: 5, name: '蟒蛇' },
{ id: 12, parentId: 5, name: '麻雀' },
]

// 数组转树结构
const toTree = (arr, pid = null) => {
return arr.filter((item) => {
if (item.parentId === pid) item.children = toTree(arr, item.id)
return item.parentId === pid
})
}

toTree(data)
  • 本文标题:数组转树结构
  • 本文作者:灵感胜于汗水
  • 创建时间:2022-12-09 20:19:33
  • 本文链接:https://cjhsyc.github.io/2022/12/09/数组转树结构/
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!