A tiny shuffle for array/string of javascript
npm install z-shuffle
A tiny π¦ , fast π shuffle of javascript implement for array or string.
!ts
!license
!mini zipped size
!dependents
!coverage
!tree-shaking support

- π Run fast (1.5m ops/s for array of length 50 and 500k ops/s for string of length 62)
- π Support array or string
- πΊπ» Stable even distribution
- π¦ Tiny and tree shaking support
- π Support web, Node and service worker with esm, cjs amd umd
``js`
npm i z-shuffle
`ts
import shuffle from 'z-shuffle';
console.log(shuffle(new Array(10).fill(null).map((v, i) => i)));
// [5, 3, 0, 1, 6, 9, 2, 4, 8, 7]
`

`ts`
declare function shuffle(
target: string,
option?: {
fix?: true;
}
): string;
declare function shuffle
target: T[],
option?: {
pure?: boolean;
}
): T[];
#### fix for string shuffle
For string shuffle, use fix to fix split for some special unicode char like π¦ π .
But if your string have some more special char like π©πΎβπ§, you should use some lib to transform the string to an array
before shuffle.
#### pure for array shuffle
By default, shuffle will clone an array for do shuffle, but if you wan't this, just set pure to false`.
This is a chart about do shuffle 100000 times for an array from A ο½ P (16 letters for better display). The x axis means
the index of element in the array, the y axis means how much times the element appear to the index.
All elements's appear count to each index are around 6250 (100000/16), which means they are even distribution.
