const shuffleArray = (arr) => {
// здесь будет код решения
}
const a = [1, 2, 3, 4, 5]
shuffleArray(a)
console.log(a) // здесь должны быть выведены элементы в другом порядке
shuffleArray(a)
console.log(a) // и здесь снова в другом порядке
javascript
const shufleArray = (arr) => {
// Проходим по массиву начиная с самого последнего элемента
for (let i = arr.length - 1; i > 0; i--) {
// Выбираем случайный индекс от 0 до i
const randomIndex = Math.floor(Math.random() * (i + 1));
// Обмениваем текущий элемент с элементом по случайному индексу
[arr[i], arr[randomIndex]] = [arr[randomIndex], arr[i]];
}
};
const a = [1, 2, 3, 4, 5];
// Перемешиваем массив
shuffleArray(a);
console.log(a); // выводит элементы в другом порядке, например [2, 5, 1, 4, 3]
// Перемешиваем массив снова
shuffleArray(a);
console.log(a); // выводит элементы в другом порядке, например [4, 3, 2, 5, 1]
В данной реализации мы используем цикл for с индексом i, который начинается с последнего элемента массива и заканчивается на 1. На каждой итерации мы генерируем случайный индекс randomIndex от 0 до i. Затем, с помощью деструктуризации, обмениваем текущий элемент arr[i] с элементом arr[randomIndex].
Таким образом, каждый элемент массива будет обменян хотя бы один раз, что приводит к случайному перемешиванию элементов.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет