@3r/tool
Version:
🏃包含一些常用方法例如对象深克隆、递归调用、一一对比/数组交集、并集、差集/二维向量点乘、叉乘/股票KDJ、MACD、RSI、BOLL/验证为空、车牌号、邮箱、身份证、统一社会信用代码、手机号、版本对比/转换日期、星座、身份证解析、字节/随机颜色、手机号、身份证号码、统一社会信用代码...持续更新整合
54 lines (53 loc) • 1.31 kB
TypeScript
/**
* 递归调用关键词名称
*/
interface IRecursiveKeyName {
children: string;
}
/**
* 深克隆
* @param obj
*/
export declare function cloneDeep<T>(obj: T, cache?: WeakMap<object, any>): T;
/**
* 执行时间
* @param fn 方法
*/
export declare function executionTime(fn: () => void): string;
/**
* 防抖
* @param fn 方法
* @param delay 延迟
*/
export declare function antiShake(fn: () => void, delay: number): (this: any) => void;
/**
* 节流
* @param fn 方法
* @param delay 延迟
*/
export declare function throttle(fn: () => void, delay: number): (this: any) => void;
/**
* 打组方法
* 例:
* group([1,2,3,4,5],(item,index)=> item % 3) => [ [ 3 ], [ 1, 4 ], [ 2, 5 ] ]
* @param arr
* @param func
* @returns
*/
export declare function group<T>(arr: Array<T>, func: (item: T, index: number) => any): unknown[];
/**
* 通过条件一一对比
* 例:
* contrast([1,2,3],(curr,next)=>curr+next==3) => true
* @param arr
* @param func
* @returns
*/
export declare function contrast<T>(arr: Array<T>, func: (curr: T, next: T) => any): boolean;
/**
* 递归调用
* @param arr 数组
* @param func 方法
*/
export declare function recursive<T>(arr: Array<T>, func: (curr: T, parent?: T) => void, keyName?: IRecursiveKeyName, parent?: T): T[];
export {};