UNPKG

@3r/tool

Version:

🏃‍包含一些常用方法例如对象深克隆、递归调用、一一对比/数组交集、并集、差集/二维向量点乘、叉乘/股票KDJ、MACD、RSI、BOLL/验证为空、车牌号、邮箱、身份证、统一社会信用代码、手机号、版本对比/转换日期、星座、身份证解析、字节/随机颜色、手机号、身份证号码、统一社会信用代码...持续更新整合

54 lines (53 loc) 1.31 kB
/** * 递归调用关键词名称 */ 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 {};