Introduction
Dans ce laboratoire, nous explorerons l'algorithme de Fisher-Yates et son implantation en JavaScript. Plus précisément, nous nous concentrerons sur le mélange d'éléments dans un tableau à l'aide de cet algorithme. À la fin de ce laboratoire, vous aurez une meilleure compréhension de fonctionnement de l'algorithme de Fisher-Yates et de la manière dont il peut être utilisé pour aléatoriser l'ordre des éléments dans un tableau.
Algorithme de mélange de tableau
Pour mélanger un tableau en JavaScript, utilisez l'algorithme de Fisher-Yates. Cet algorithme réordonne aléatoirement les éléments du tableau et renvoie un nouveau tableau.
Pour commencer à pratiquer la programmation, ouvrez le Terminal/SSH et tapez node.
Voici le code pour l'algorithme 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;
};
Pour mélanger un tableau, passez-le à la fonction shuffle et elle renverra le tableau mélangé. Par exemple :
const foo = [1, 2, 3];
shuffle(foo); // renvoie [2, 3, 1], et foo est toujours [1, 2, 3]
Sommaire
Félicitations ! Vous avez terminé le laboratoire sur le mélange de tableaux. Vous pouvez pratiquer d'autres laboratoires sur LabEx pour améliorer vos compétences.