toolset.io
Version:
20 lines (19 loc) • 637 B
TypeScript
/**
* 深度克隆一个对象
* @param source 要克隆的对象
* @param cache 用于处理循环引用的缓存Map (内部使用)
* @returns 深度克隆后的新对象
*/
export declare function cloneDeep<T>(source: T, cache?: WeakMap<object, any>): T;
/**
* 原地洗牌算法 (Fisher-Yates)
* @param array 要洗牌的数组
* @returns 洗牌后的同一数组 (原地修改)
*/
export declare function shuffle<T>(array: T[]): T[];
/**
* 不改变原数组的洗牌
* @param array 要洗牌的数组
* @returns 洗牌后的新数组
*/
export declare function shuffled<T>(array: readonly T[]): T[];