import type { TreeDataType, DataNode } from '../types/antd' export {} declare global { export interface Array { /** * @description: 获取两个数组的交集 * @param target 与当前数组比较的目标数组 * @param predicate 比较 * @author: liujialiang * @date: 2023-09-29 14:43:09 * @version: V1.0.0 */ intersection(target: T[], predicate: (a: T, b: T) => boolean): T[] /** * @description: 获取两个数组的差集 * @param target 与当前数组比较的目标数组 * @param predicate 比较 * @author: liujialiang * @date: 2023-09-29 14:43:09 * @version: V1.0.0 */ diff(target: T[], predicate: (a: T, b: T) => boolean): T[] /** * @description: 转换为树形结构 * @param callbackFn 返回树形结构所属的数据 * @author: liujialiang * @date: 2023-09-29 18:58:02 * @version: V1.0.0 */ toTreeData(callbackFn: (item: T) => DataNode): TreeDataType /** * @description: 按指定数据分组 * @param callbackFn 返回树形结构所属的数据 * @author: liujialiang * @date: 2023-09-29 18:58:02 * @version: V1.0.0 */ groupBy(keySelectorFn: (item: T) => D): Map /** * @description: 根据匹配项进行移除 * @param matchFn 匹配项 * @author: liujialiang * @date: 2023-09-29 19:11:58 * @version: V1.0.0 */ remove(matchFn: (item: T) => boolean): T[] /** * @description: * @param childrenPredicate 获取子级的表达式 * @author: liujialiang * @date: 2023-10-09 09:56:53 * @version: V1.0.0 */ flatBy(childrenPredicate: (item: T) => T[]): T[] } }