Введение
В этом лабораторном задании мы изучим алгоритм Фишера-Йетса и его реализацию на JavaScript. В частности, мы сосредоточимся на перемешивании массивов с использованием этого алгоритма. В конце этого лабораторного задания вы будете лучше понимать, как работает алгоритм Фишера-Йетса и как его можно использовать для случайной перестановки элементов в массиве.
Алгоритм перемешивания массива
Для перемешивания массива в JavaScript используйте алгоритм Фишера-Йетса. Этот алгоритм случайным образом переупорядочивает элементы массива и возвращает новый массив.
Для начала практики программирования откройте Терминал/SSH и введите node.
Вот код для алгоритма Фишера-Йетса:
const shuffle = ([...arr]) => {
let m = arr.length;
while (m) {
const i = Math.floor(Math.random() * m--);
[arr[m], arr[i]] = [arr[i], arr[m]];
}
return arr;
};
Для перемешивания массива передайте массив в функцию shuffle, и она вернет перемешанный массив. Например:
const foo = [1, 2, 3];
shuffle(foo); // возвращает [2, 3, 1], а foo по-прежнему [1, 2, 3]
Резюме
Поздравляем! Вы завершили лабораторную работу по перемешиванию массива. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.