UNPKG

xiaohejs

Version:

🎈 小何同学的JavaScript工具箱

45 lines (44 loc) 1.27 kB
import { IObjectRecord } from "../types.js"; /** * 扁平数组转树形结构数组-配置项 * * @since 0.0.4 */ interface IFlat2TreeOptions<T> { /** * 节点唯一标识属性名 */ readonly key?: string; /** * 父节点唯一标识属性名 */ readonly parentKey?: string; /** * 节点数据处理器 * * @param item 当前节点 */ readonly processor?: (item: T) => T; } /** * 扁平数组转树形结构数组-默认配置项 * * @since 0.0.4 */ declare const DefaultFlat2TreeOptions: IFlat2TreeOptions<any>; /** * 扁平数组转树形结构数组 * * @since 0.0.4 * @template T * @param [array] 扁平数组 * @param [options] 配置项 * @param [options.key="id"] 节点唯一标识属性名 * @param [options.parentKey="pid"] 父节点唯一标识属性名 * @param [options.processor=(item)=>(item)] 节点数据处理器 * @returns {T[]} 树形结构数组 */ declare function flat2tree<T extends IObjectRecord & { children?: T[]; }>(array: T[], options?: IFlat2TreeOptions<T>): T[]; export { IFlat2TreeOptions, DefaultFlat2TreeOptions, flat2tree };