export function random(min: number, max: number): number { return Math.random() * (max - min) + min; } export function randomInt(min: number, max: number): number { return Math.floor(random(min, max)); } export function pick(array: Array): T { const randomIndex = random(0, array.length); return array[randomIndex]; } export function pickMany(array: Array, count: number): Array { const shuffled = shuffle(array); return shuffled.slice(0, count); } export function shuffle(array: Array): Array { return array .map(value => ({ sort: Math.random(), value })) .sort((a, b) => a.sort - b.sort) .map(({ value }) => value); }