Voici une fonction javascript qui permet de mélanger dans un ordre aléatoire les éléments d'un tableau javascript.
Tri aléatoire d'un tableau
La fonction shuffle prend en paramètre un tableau et le tri dans un ordre aléatoire puis le retourne. A noter que le retour est facultatif car le tri est effectué aussi sur le tableau passé en paramètre.
function shuffle(a)
{
var j = 0;
var valI = '';
var valJ = valI;
var l = a.length - 1;
while(l > -1)
{
j = Math.floor(Math.random() * l);
valI = a[l];
valJ = a[j];
a[l] = valJ;
a[j] = valI;
l = l - 1;
}
return a;
}
Exemples d'utilisation
var a = new Array(1,2,3,4);
/*En passant en paramètre le tableau est modifié dans la fonction*/
shuffle(a);
alert(a);
/*On peu aussi utiliser le retour de la fonction*/
var b = shuffle(a);
alert(b);
Image : starsantique