UNPKG

typescript-util

Version:

JS/TS 的简单工具

67 lines 2.11 kB
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