aftool
Version:
aftool 个人用的一些基本库
39 lines (38 loc) • 1.31 kB
TypeScript
import { predicate } from "../global-types/common";
export declare class ArrayUtil {
/**
* 移除数组中符合条件的元素(操作原数组)
* @param array 目标数组
* @param predicate 寻找目标的函数
* @returns 被移除的元素的数组
*/
static remove<T>(array: T[], predicate: predicate<T>): T[];
/**
* 移除第一项符合条件的目标(操作元素组)
* @param array 目标数组
* @param predicate 寻找目标的函数
* @returns 返回被移除过的元素
*/
static removeFirst<T>(array: T[], predicate: predicate<T>): T | undefined;
/**
* 移除最后一项符合条件的目标(操作元素组)
* @param array 目标数组
* @param predicate 寻找目标的函数
* @returns 返回被移除过的元素
*/
static removeLast<T>(array: T[], predicate: predicate<T>): T | undefined;
/**
* 递归将树展平为hashmap
* @param tree
* @param config 展平操作的配置 keyProp:string = "id" childProp:string="children"
* @returns {[string]:any}
*/
static flatToMap<T extends {
[key: string]: unknown;
}>(tree?: T[], config?: {
keyProp: string;
childProp: string;
}): {
[key: string]: T;
};
}