Tach.
Array.prototype.misch=function() {
var l=this.length,t,zi;
for(var i=0;i<l;i++) {
zi=Math.floor(Math.random()*l);
t=this[zi];
this[zi]=this[i];
this[i]=t;
}
}
Diese Art des Mischens liefert dir keine wirklich zufällige Verteilung! Einige der n! möglichen Sequenzen sind mit deiner Vorgehensweise wahrscheinlicher als andere.
Beim richtigen™ Mischen würdest du das Array ebenfalls Schritt für Schritt durchlaufen, dabei aber das aktuelle Element nur mit einem zufällig bestimmten Element tauschen, welches du noch \*nicht\* besucht hast.
--
Once is a mistake, twice is jazz.