Рандомизация массивов в JavaScript: методы перетасовки массива

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

  1. Использование алгоритма перемешивания Фишера-Йейтса (Кнута):
    Этот алгоритм перемешивает массив на месте, перебирая элементы от последнего к первому и заменяя каждый элемент случайно выбранным элемент перед ним. Вот код:

    function shuffleArray(array) {
     for (let i = array.length - 1; i > 0; i--) {
       const j = Math.floor(Math.random() * (i + 1));
       [array[i], array[j]] = [array[j], array[i]];
     }
     return array;
    }
    const myArray = [1, 2, 3, 4, 5];
    const shuffledArray = shuffleArray(myArray);
    console.log(shuffledArray);
  2. Использование метода sort() с настраиваемой функцией сравнения.
    Метод sort() можно использовать с настраиваемой функцией сравнения, которая возвращает случайное значение от -1 до 1. Это эффективно перетасует множество. Вот пример:

    function compareRandom(a, b) {
     return Math.random() - 0.5;
    }
    const myArray = [1, 2, 3, 4, 5];
    const shuffledArray = myArray.sort(compareRandom);
    console.log(shuffledArray);
  3. Использование метода array.sort() со стрелочными функциями:
    Если вы предпочитаете использовать стрелочные функции, код можно упростить следующим образом:

    const myArray = [1, 2, 3, 4, 5];
    const shuffledArray = myArray.sort(() => Math.random() - 0.5);
    console.log(shuffledArray);

Эти методы изменят порядок элементов в массиве случайным образом. Не забудьте заменить myArrayфактической переменной массива.