Introducción
En este laboratorio, exploraremos el algoritmo de Fisher-Yates y su implementación en JavaScript. En particular, nos centraremos en barajar arrays utilizando este algoritmo. Al final de este laboratorio, tendrás una mejor comprensión de cómo funciona el algoritmo de Fisher-Yates y cómo se puede utilizar para aleatorizar el orden de los elementos en un array.
Algoritmo para barajar arrays
Para barajar un array en JavaScript, utiliza el algoritmo de Fisher-Yates. Este algoritmo reordena los elementos del array de forma aleatoria y devuelve un nuevo array.
Para comenzar a practicar la codificación, abre la Terminal/SSH y escribe node.
Aquí está el código para el algoritmo de Fisher-Yates:
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;
};
Para barajar un array, pasa el array a la función shuffle y devolverá el array barajado. Por ejemplo:
const foo = [1, 2, 3];
shuffle(foo); // devuelve [2, 3, 1], y foo sigue siendo [1, 2, 3]
Resumen
¡Felicidades! Has completado el laboratorio de barajar arrays. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.