Tout à l'heure je suis (encore) tombé sur un code complexe pour trier un tableau aléatoirement en Javascript. Je ne remettrai pas en question les développeurs qui foncent tête baissée dans un développement d'une vingtaine de lignes, mais franchement, pourquoi faire compliqué : la fonction .sort() appliquée à un tableau en Javascript peut prendre en argument une fonction à utiliser pour réaliser le tri. On se retrouve donc avec :

var tableau = [1,2,3,4]; // votre tableau à mélanger
tableau.sort(function() { return 0.5 - Math.random() });

Mise à jour le 3/01/2010 : comme l'a justement fait remarquer un lecteur (tcherniatinsky) dans les commentaires, cette méthode n'est pas parfaitement aléatoire ! Je propose une nouvelle solution dans le commentaire 2.

Éventuellement, vous pouvez aussi faire :

// Ajout d'une fonction 'shuffle' aux tableaux (Array)
Array.prototype.shuffle = function() {
  this.sort(function() { return 0.5 - Math.random() })
};
 
var tableau = [1,2,3,4];
tableau.shuffle();

Allez, je vais conclure sur l'un de mes posters de motivation préféré (dont je ne connais malheureusement pas l'auteur…) : Simplicity