@hugoalh/shuffle-array
Version:
A module to shuffle the array's indexes.
24 lines • 1.04 kB
TypeScript
/**
* A pseudo random number generator which takes zero arguments and returns a random number in the range of `>= 0` and `< 1`.
*/
export type PseudoRandomNumberGenerator = () => number;
/**
* Shuffle the array's indexes.
* @template {unknown} T
* @param {readonly T[]} item Array that need to shuffle indexes.
* @param {PseudoRandomNumberGenerator} [prng=Math.random] A pseudo random number generator which takes zero arguments and returns a random number in the range of `>= 0` and `< 1`. This uses {@linkcode Math.random} by default, or specify a better pseudo random number generator.
* @returns {T[]} An indexes shuffled array.
* @example
* ```ts
* const item = [3, 7, 25, 26, 42, 62, 71, 76, 92, 93];
*
* shuffleArray(item);
* //=> [62, 93, 26, 42, 25, 7, 76, 71, 3, 92]
*
* shuffleArray(item);
* //=> [42, 3, 26, 62, 93, 7, 76, 25, 92, 71]
* ```
*/
export declare function shuffleArray<T>(item: readonly T[], prng?: PseudoRandomNumberGenerator): T[];
export default shuffleArray;
//# sourceMappingURL=mod.d.ts.map