# itree **Repository Path**: Chenyqiang/itree ## Basic Information - **Project Name**: itree - **Description**: js 递归 实现无限层级的树形结构 设置层级 支持数据源无序 - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2019-08-12 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # itree v1.0.4 #### 概述 js 递归 实现无限层级的树形结构 设置层级 支持数据源无序 #### API | 属性 | 说明 | 类型 | 必填 | 默认值 | | ----- | -------------- | ------ | ---- | ------ | | list | 数据源 | Array | 是 | - | | id | 子节点的标识 | String | 否 | id | | pid | 父节点的标识 | String | 否 | pid | | nopid | 无父节点时的值 | String | 否 | null | #### 示例 ```javascript const list = [{ id: 0, pId: 'NULL' }, { id: 1, pId: 0 }, { id: 2, pId: 0 }]; const itree = new Itree({ list: list, pid: 'pId', nopid: 'NULL', }); /** * @return tree 树形结构, 保护子节点数据, 层级 * @return levelsMap 层级Map * @return idsMap 子节点Map, 包含子节点全部数据 * @return pidsMap 父节点Map, 包含子节点全部数据 * @return ids 子节点标志列表, 按tree顺序排列 */ const { tree, levelsMap, idsMap, pidsMap, ids } = itree; ``` #### 返回数据 ```json { "_list": [{ "id": 1, "pId": 2 }, { "id": 2, "pId": 0 }, { "id": 3, "pId": 0 }, { "id": 0, "pId": "NULL" }], "_datas": [], "_id": "id", "_pid": "pId", "_nopid": "NULL", "tree": [ { "id": 0, "pId": "NULL", "children": [ { "id": 2, "pId": 0, "children": [{ "id": 1, "pId": 2, "children": [], "level": 3 }], "level": 2 }, { "id": 3, "pId": 0, "children": [], "level": 2 } ], "level": 1 } ], "levelsMap": { "0": 1, "1": 3, "2": 2, "3": 2 }, "idsMap": { "0": { "id": 0, "pId": "NULL", "children": [ { "id": 2, "pId": 0, "children": [{ "id": 1, "pId": 2, "children": [], "level": 3 }], "level": 2 }, { "id": 3, "pId": 0, "children": [], "level": 2 } ], "level": 1 }, "1": { "id": 1, "pId": 2, "children": [], "level": 3 }, "2": { "id": 2, "pId": 0, "children": [{ "id": 1, "pId": 2, "children": [], "level": 3 }], "level": 2 }, "3": { "id": 3, "pId": 0, "children": [], "level": 2 } }, "pidsMap": { "0": [ { "id": 2, "pId": 0, "children": [{ "id": 1, "pId": 2, "children": [], "level": 3 }], "level": 2 }, { "id": 3, "pId": 0, "children": [], "level": 2 } ], "2": [{ "id": 1, "pId": 2, "children": [], "level": 3 }] }, "ids": [0, 2, 1, 3] } ``` #### 作者 iron