Перемешивание массива в JavaScript

Перейти в телеграм, чтобы получить результаты теста
Пройдите тест, узнайте какой профессии подходите
Вам подходит профессия:
Аналитик данных
Основные характеристики профессии:
не нужно общаться с людьми
логика
анализ
поиск закономерностей
работа с числами
Построим личный план перехода в профессию для вас бесплатно
- убедитесь, подходит вам профессия или нет
- получите оценку своих навыков и шансов освоить профессию
- забронируем за вами скидку 55% на обучение, пока думаете
Позвоним вам в течение часа — не пропустите звонок
Чем занимается специалист
Специалист создает все онлайн-продукты, программы, приложения, игры и сайты, которыми вы пользуетесь каждый день.
Создает — значит описывает последовательность действий на специальном языке программирования. Настраивает действия, что должно произойти, если пользователь нажмет на кнопку.
Средняя зарплата начинающего специалиста в первый год работы:
от 50 000 ₽
Что надо знать и уметь, чтобы выучиться на аналитика:
- базовое школьное образование
- уверенные навыки работы с компьютером
- опыт выполнения задач в конкретные сроки
Глубокие знания математики или английского не нужны
Почему мы рекомендуем вам эту профессию
Ваш скрытый талант:
наблюдательность
Во время разработки на JavaScript иногда возникает необходимость случайным образом переставить элементы массива, то есть «перемешать» их. Пример:
Во время разработки на JavaScript иногда возникает необходимость случайным образом переставить элементы массива, то есть «перемешать» их.
Пример: есть массив с названиями книг.
var books = ["Война и мир", "Преступление и наказание", "Мастер и Маргарита", "Анна Каренина"];
И надо его «перемешать», то есть расположить элементы в случайном порядке.
Осуществить это можно с помощью алгоритма Фишера — Йетса. Этот алгоритм используется для генерации случайной перестановки элементов множества.
function shuffle(array) {
var currentIndex = array.length, temporaryValue, randomIndex;
// While there remain elements to shuffle...
while (0 !== currentIndex) {
// Pick a remaining element...
randomIndex = Math.floor(Math.random() * currentIndex);
currentIndex -= 1;
// And swap it with the current element.
temporaryValue = array[currentIndex];
array[currentIndex] = array[randomIndex];
array[randomIndex] = temporaryValue;
}
return array;
}
После использования этой функции элементы массива будут расположены в случайном порядке.
shuffle(books);
Примечание: данная функция напрямую модифицирует исходный массив, поэтому если необходимо сохранить исходный порядок элементов, рекомендуется создать копию массива перед вызовом функции shuffle.
Добавить комментарий