web-common-util
Version:
19 lines (18 loc) • 563 B
TypeScript
interface treeFromArrayOpt<T> {
hasParent: (item: T) => unknown;
lostError: boolean;
}
export declare type treeNodeSource = {
id: string | number;
parentId: string | number;
};
declare type treeNodeRes<T> = treeNodeSource & {
children?: treeNodeRes<T>[];
} & T;
/**
* treeFromArray 时间复杂度(treeFromArray):O(n)
* @param {array} arr
* @param {object} opt
*/
declare function treeFromArray<T extends treeNodeSource>(arr: T[], option?: Partial<treeFromArrayOpt<T>>): treeNodeRes<T>[];
export { treeFromArray };