L'algorithme "Shuffle Array" ci-dessous est un algorithme fréquemment utilisé qui permet de mettre en désordre les éléments d'une liste ou array.


var shuffleArray = function (array) {
for (var i = array.length - 1; i > 1; i--) {
var j = Math.floor(Math.random() * (i + 1));
var temp = array[i];
array[i] = array[j];
array[j] = temp;
}
return array;
}


Exemple : on part de liste=[A,B,C,D,E,F,G,H,I,J] ; on écrit : liste=shuffleArray(liste).
Observez le mécanisme mis en place par l'algorithme en appuyant sur le bouton ci-dessous:




L'algorithme consiste à prendre au hasard un élément du tableau et à faire une permutation avec le dernier élément du tableau, et on recommence le processus sur un tableau de plus en plus petit grâce à i-- à chaque tour de boucle.
On notera que pour faire ces substitutions, il est nécessaire de passer par une variable temporaire appelée ici temp.