# getTreeLeaf

实现树形查找所有叶子节点

# 参数

  • param array data 树形数据
  • param array leafArr 结果集

# 返回

  • return array 查找的叶子节点集合

# 示例

const data = [
  {
    id: 1,
    name: '部门1',
    pid: 0,
    children: [
      {
        id: 2,
        name: '部门2',
        pid: 1,
        children: [],
      },
      {
        id: 3,
        name: '部门3',
        pid: 1,
        children: [
          {
            id: 4,
            name: '部门4',
            pid: 3,
            children: [
              {
                id: 5,
                name: '部门5',
                pid: 4,
                children: [],
              },
              {
                id: 7,
                name: '部门7',
                pid: 4,
                children: [],
              },
            ],
          },
        ],
      },
      {
        id: 6,
        name: '部门6',
        pid: 1,
        children: [],
      },
    ],
  },
  {
    id: 8,
    name: '部门8',
    pid: 0,
    children: [],
  },
];
const result = [];
const arr = getTreeLeaf(data, result);
// result:
// [
//   {
//     id: 2,
//     name: '部门2',
//     pid: 1,
//     children: [],
//   },
//   {
//     id: 5,
//     name: '部门5',
//     pid: 4,
//     children: [],
//   },
//   {
//     id: 7,
//     name: '部门7',
//     pid: 4,
//     children: [],
//   },
//   {
//     id: 6,
//     name: '部门6',
//     pid: 1,
//     children: [],
//   },
//   {
//     id: 8,
//     name: '部门8',
//     pid: 0,
//     children: [],
//   },
// ]
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
Last Updated: 10/5/2023, 5:04:30 PM