forEach

遍历树中的每一个节点,并执行 visitor 函数。visitor 函数可以返回 false 来提前终止整个遍历。

forEach

forEach 方法以深度优先的顺序遍历树中的每一个节点,并对每个节点执行 visitor 函数。

用法

import { Tree } from '@movk/core'

const tree = [{ id: 1, name: 'A', children: [{ id: 2, name: 'B' }] }]

const names: string[] = []
Tree.forEach(tree, ({ node }) => {
  names.push(node.name)
})

// names => ['A', 'B']

// 提前终止
Tree.forEach(tree, ({ node }) => {
  if (node.name === 'A') {
    return false // 停止遍历
  }
})

API

forEach<T extends TreeNode>(tree: T[], visitor: (context: VisitorContext<T>) => void | false, config?: TreeConfig): void

参数

tree
T[] required
源树形结构数组。
predicate
(context: VisitorContext<T>) => boolean required
一个谓词函数,对树中的每个节点调用。如果函数返回 true,该节点及其所有父节点将被保留在结果中。 该函数接收一个包含以下属性的 context 对象:
config
TreeConfig
用于自定义树形结构中 id, pid, children 键名的配置对象。

Changelog

No recent changes
Copyright © 2024 - 2025 YiXuan - MIT License