Чтобы перетасовать массив в 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; } -
Использование метода
sortс собственной функцией сравнения:function shuffleArray(array) { return array.sort(() => Math.random() - 0.5); } -
Использование метода
mapи генератора случайных индексов:function shuffleArray(array) { return array.map((value) => ({ value, random: Math.random() })) .sort((a, b) => a.random - b.random) .map((item) => item.value); } -
Использование метода
reduceи случайная вставка элементов:function shuffleArray(array) { return array.reduce((shuffled, element) => { const randomIndex = Math.floor(Math.random() * (shuffled.length + 1)); shuffled.splice(randomIndex, 0, element); return shuffled; }, []); }