Как перемешать элементы массива js
4 года назад
Человек-Молекула
Ответы
2
Простой способ перемешать массив:
array = array.sort(() => Math.random() - 0.5)
Правильный способ — использовать алгоритм тасования Фишера — Йетса:
const shuffle = (array) => {
let m = array.length, t, i;
// Пока есть элементы для перемешивания
while (m) {
// Взять оставшийся элемент
i = Math.floor(Math.random() * m--);
// И поменять его местами с текущим элементом
t = array[m];
array[m] = array[i];
array[i] = t;
}
return array;
}
3 года назад
Aleksandr Litvinov
0
Есть еще один способ для перемешивания элементов массива. Он не очень удачный и является не очень эффективным, поэтому рассмотрим его только в качестве примера.
Напишем собственную функцию для перетасовки элементов массива.
Самый оптимальный способ для перемешивания элементов массива - это алгоритм тасования Фишера — Йетса, он рассмотрен выше.
3 года назад
Виктория Аблаева