find

Find the first tree node that matches a predicate during traversal, returning the node or undefined when nothing matches.

Usage

The find method performs a depth-first search on the tree and returns the first node that satisfies the predicate function.

example.ts
import { Tree } from '@movk/core'

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

const node = Tree.find(tree, ({ node }) => node.name === 'B')

// node => { id: 2, name: 'B' }

API

find<T extends TreeNode>(tree: T[], predicate: (context: VisitorContext<T>) => boolean, config?: TreeConfig): T | undefined

Parameters

tree
T[] required
The source tree array.
predicate
(context: VisitorContext<T>) => boolean required
A predicate function called for each node in the tree. When the function returns true for the first node, find returns that node and stops traversal. The function receives a context object with the following properties:
config
TreeConfig
Configuration object for customizing the id, pid, children key names in the tree structure.

Returns

T | undefined
Returns the first matching node, or undefined if no match is found.

Changelog

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