UNPKG

@hugoalh/shuffle-array

Version:

A module to shuffle the array's indexes.

24 lines 1.04 kB
/** * 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