как перемешать массив js
Ответы
Кирилл Маркеев
07 апреля 2023
Простой способ перемешать элементы массива:
const numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(numbers.sort(() => Math.random() - 0.5)); // => [7, 2, 8, 0, 9, 3, 1, 5, 4, 6]
console.log(numbers.sort(() => Math.random() - 0.5)); // => [4, 8, 2, 6, 3, 9, 7, 5, 1, 0]
Здесь мы передаем в метод sort()
колбэк, который генерирует случайное число в диапазоне от 0
до 1
и вычитает из него 0.5
. Если при сравнении очередной пары двух элементов массива колбэк вернет положительное число, то sort()
по меньшему индексу поставит второй элемент (т.е. поменяет их местами), если вернет отрицательное число, - то первый элемент.
0
0