Skip to content

buildTree

1.9.0

将一个扁平的数组结构转换为树形结构

基本用法

用于将一组带有父子关系的数据转换为树形结构

typescript
import { buildTree } from 'roodash';

const data = [
    {id: 1, pId: null, name: '张三'},
    {id: 2, pId: 1, name: '李四'},
    {id: 3, pId: 1, name: '王五'},
    {id: 4, pId: 2, name: '赵六'},
    {id: 5, pId: 2, name: '孙七'},
]

const tree = buildTree(data);

console.log(tree);

// => [
//     {
//         id: 1,
//         pId: null,
//         name: '张三',
//         level: 1,
//         children: [
//             {
//                 id: 2,
//                 pId: 1,
//                 name: '李四',
//                 level: 2,
//                 children: [
//                     {id: 4, pId: 2, name: '赵六', level: 3, children: []},
//                     {id: 5, pId: 2, name: '孙七', level: 3, children: []}
//                 ]
//             },
//             {id: 3, pId: 1, name: '王五', level: 2, children: []}
//         ]
//     }
// ]

参数

属性说明类型默认值版本是否必填
data传入的数据Record<string, any>[]-1.9.0
options可选参数BuildTreeOptions{}1.9.0

BuildTreeOptions

属性说明类型默认值版本是否必填
key主键节点keystringid1.9.0
parentKey父节点keystringpId1.9.0
childrenKey子节点keystringchildren1.9.0
levelKey层级keystringlevel1.9.0
extra额外的数据Record<string, any>{}1.9.0

基于 MIT 协议发布