Чтобы рандомизировать массив в JavaScript, вы можете использовать несколько методов. Вот несколько часто используемых подходов:
-
Использование алгоритма перемешивания Фишера-Йейтса (Кнута):
Этот алгоритм перемешивает массив на месте, перебирая элементы от последнего к первому и заменяя каждый элемент случайно выбранным элемент перед ним. Вот код: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); -
Использование метода 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); -
Использование метода array.sort() со стрелочными функциями:
Если вы предпочитаете использовать стрелочные функции, код можно упростить следующим образом:const myArray = [1, 2, 3, 4, 5]; const shuffledArray = myArray.sort(() => Math.random() - 0.5); console.log(shuffledArray);
Эти методы изменят порядок элементов в массиве случайным образом. Не забудьте заменить myArrayфактической переменной массива.