函数: eachTreeList()
ts
function eachTreeList<T>(
data,
callback,
children?): void;定义于: tree.ts:354
深度优先遍历树的每个节点,对每个节点执行回调(原地操作,可在回调中直接修改节点)。
类型参数
| 类型参数 | 默认类型 |
|---|---|
T | any |
参数
| 参数 | 类型 | 描述 |
|---|---|---|
data | T[] | 树形数组 |
callback | (node, parent, level) => boolean | void | 每个节点触发的回调,签名 (node, parent, level):parent 为父节点(根节点为 null),level 为层级(根为 0);返回 false 可跳过该节点的子级递归 |
children | keyof T | 子级集合的键名,默认 'children' |
返回值
void
备注
无返回值;若需要「返回结构相同的新树」而非原地遍历,请用 mapTreeList。
示例
ts
const list = [
{
name: 'option1', id: 1,
children: [
{ name: 'option1.1', id: 3 },
],
},
{ name: 'option2', id: 2 },
]
// 给每个节点补一个 label 字段(原地修改)
eachTreeList(list, (node) => { node.label = node.name })