Методы получения случайного элемента из массива в TypeScript

Чтобы получить случайный элемент из массива в TypeScript, вы можете использовать несколько методов. Вот несколько примеров:

  1. Использование Math.random() и Math.floor():

    function getRandomElement<T>(array: T[]): T | undefined {
    if (array.length === 0) {
    return undefined;
    }
    const randomIndex = Math.floor(Math.random() * array.length);
    return array[randomIndex];
    }
    // Usage example:
    const myArray = [1, 2, 3, 4, 5];
    const randomElement = getRandomElement(myArray);
    console.log(randomElement); // Output: Random element from the array
  2. Использование алгоритма Фишера-Йейтса:

    function getRandomElement<T>(array: T[]): T | undefined {
    if (array.length === 0) {
    return undefined;
    }
    let currentIndex = array.length;
    let temporaryValue: T;
    let randomIndex: number;
    while (currentIndex !== 0) {
    randomIndex = Math.floor(Math.random() * currentIndex);
    currentIndex -= 1;
    temporaryValue = array[currentIndex];
    array[currentIndex] = array[randomIndex];
    array[randomIndex] = temporaryValue;
    }
    return array[0];
    }
    // Usage example:
    const myArray = [1, 2, 3, 4, 5];
    const randomElement = getRandomElement(myArray);
    console.log(randomElement); // Output: Random element from the array
  3. Использование библиотеки lodash:
    Если у вас установлена ​​библиотека lodash, вы можете использовать ее функцию sampleдля получения случайного элемента из массива.

    import { sample } from 'lodash';
    const myArray = [1, 2, 3, 4, 5];
    const randomElement = sample(myArray);
    console.log(randomElement); // Output: Random element from the array

Это несколько методов, которые можно использовать для получения случайного элемента из массива в TypeScript. Не забудьте обработать случай, когда массив пуст, чтобы избежать ошибок.