mstf-kit
Version:
一个现代化的 JavaScript/TypeScript 工具库,提供了丰富的常用工具函数
38 lines (37 loc) • 1.08 kB
TypeScript
/**
* 数组相关工具函数
*/
/**
* 数组去重
* @param arr 要去重的数组
*/
export declare function unique<T>(arr: T[]): T[];
/**
* 数组分组
* @param arr 要分组的数组
* @param key 分组的键或者获取键的函数
*/
export declare function groupBy<T>(arr: T[], key: string | ((item: T) => string)): Record<string, T[]>;
/**
* 数组扁平化
* @param arr 要扁平化的数组
* @param depth 扁平化深度,默认为 Infinity
*/
export declare function flatten<T>(arr: any[], depth?: number): T[];
/**
* 获取数组中的随机元素
* @param arr 源数组
* @param count 获取元素的数量,默认为 1
*/
export declare function sample<T>(arr: T[], count?: number): T | T[];
/**
* 数组乱序(Fisher-Yates 洗牌算法)
* @param arr 要乱序的数组
*/
export declare function shuffle<T>(arr: T[]): T[];
/**
* 查找数组中最接近目标值的元素
* @param arr 源数组(必须是已排序的数字数组)
* @param target 目标值
*/
export declare function closest(arr: number[], target: number): number;