UNPKG

xiaohejs

Version:

🎈 小何同学的JavaScript工具箱

42 lines (41 loc) 1.28 kB
import { IObjectRecord } from "../types.js"; /** * 递归遍历树形结构数组-配置项 * * @since 0.0.4 */ interface IRecursiveTraversalOptions<T> { /** * 子节点集合属性名 */ readonly childrenKey?: string; /** * 父节点数据 */ readonly parent?: T | null; /** * 节点数据处理器 * * @param item 当前节点 * @param parent 当前节点的父节点 */ readonly processor?: ((item: T, parent?: T | null) => void) | null; } /** * 递归遍历树形结构数组-默认配置项 * * @since 0.0.4 */ declare const DefaultRecursiveTraversalOptions: IRecursiveTraversalOptions<any>; /** * 递归遍历树形结构数组 * * @since 0.0.4 * @param [array] 树形结构数组 * @param [options] 配置项 * @param [options.childrenKey="children"] 子节点集合属性名 * @param [options.parent] 父节点数据 * @param [options.processor] 节点数据处理器 */ declare function recursiveTraversal<T extends IObjectRecord>(array: T[], options?: IRecursiveTraversalOptions<T>): void; export { IRecursiveTraversalOptions, DefaultRecursiveTraversalOptions, recursiveTraversal };