1
0
mirror of https://github.com/uetchy/namae.git synced 2025-03-19 21:40:33 +09:00
namae/web/src/util/array.ts

22 lines
589 B
TypeScript
Raw Normal View History

2020-02-06 00:32:05 +09:00
export function shuffleArray<T>(array: T[]): T[] {
for (let i = array.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
const temp = array[i];
array[i] = array[j];
array[j] = temp;
}
return array;
}
export function sampleFromArray<T>(array: T[], maximum: number): T[] {
return shuffleArray(array).slice(0, maximum);
}
export function fillArray<T>(array: T[], filler: string, maximum: number): T[] {
const deficit = maximum - array.length;
if (deficit > 0) {
array = [...array, ...Array(deficit).fill(filler)];
}
return array;
}