typescript-util
Version:
JS/TS 的简单工具
67 lines • 2.11 kB
TypeScript
import { Function } from '../Function';
import { TreeTool } from './TreeTool';
/**
* 数据工具
* @author 冰凝
* @date 2022年9月19日 09点50分
**/
export declare class ArrayTool {
static treePath: typeof TreeTool.treePath;
static treeEach: typeof TreeTool.treeEach;
static buildTree: typeof TreeTool.buildTree;
/**
* 数组是空哒?
* @param {any[]} arr 待检查数组
* @return {boolean} ?
*/
static isEmpty(arr?: any[]): boolean;
/**
* 数组非空?
* @param {any[]} arr 待检查数组
* @return {boolean} ?
*/
static isNotEmpty(arr?: any[]): boolean;
/**
* 分组
* @param {S[]} arr 源数据
* @param {(i: S) => string} keyFun Key 映射
* @return {Record<string, S[]>}
*/
static groupBy<S = any>(arr: S[], keyFun: (i: S) => string): Record<string, S[]>;
/**
* 去重
* @param sourceArr 源数组
* @param notNull 是否保留空值, 默认不保留(true)
*/
static distinct<E extends string | number | boolean | null | undefined>(sourceArr?: Array<E>, notNull?: boolean): Array<E>;
/**
* 数组 转 Map (对象)
* 如果 keyFun 返回值(最终key)相同, 按照源数组顺序覆盖
* @para arr 源数组
* @param arr
* @param keyFun key 映射
* @param valueFun value 映射 可选, 默认 为: S => S
* @return 结果
*/
static toMap<S, R>(arr: S[], keyFun: Function<S, string>, valueFun?: Function<S, R>): Record<string, R>;
/**
* 嵌套数组展开
* <p>
* 例:
* <pre>
* const arr = [
* {items: [1, 2, 3]},
* {items: [4, 5, 6]},
* ]
*
* // res: [1, 2, 3, 4, 5, 6]
* const res = CollUtil.flatMap(arr, i => i.items)
* </pre>
* @param arr 源数组
* @param map 源数组映射, 结果为数组类型
* @return map 数组合并后的结构
* @deprecated 使用 {@link Array.flatMap()}替代
*/
static flatMap<S, R>(arr: S[], map: Function<S, R[]>): R[];
}
//# sourceMappingURL=ArrayTool.d.ts.map