@technobuddha/library
Version: 
A large library of useful functions
18 lines • 1.04 kB
JavaScript
/**
 * Pick a random items from a list.
 * @param list - Array of items to pick from
 * @param random - Random number generator
 * @returns Randomly selected item
 * @group Random
 * @category Pick
 * @example
 * ```typescript
 * const items = ['a', 'b', 'c'];
 * randomPick(items, () => 0.5); // 'b' (deterministic for example)
 * randomPick([], () => 0.5); // undefined
 * ```
 */
export function randomPick(list, random = Math.random) {
    return list.length === 0 ? undefined : list[Math.floor(random() * list.length)];
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZG9tLXBpY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcmFuZG9tLXBpY2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQ3hCLElBQWtCLEVBQ2xCLFNBQXVCLElBQUksQ0FBQyxNQUFNO0lBRWxDLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDbEYsQ0FBQyJ9