Hallo Daniel,
function arrayShuffle(){
var tmp, rand;
for(var i =0; i < this.length; i++){
rand = i + Math.floor(Math.random() * (this.length - i));
tmp = this[i];
this[i] = this[rand];
this[rand] = tmp;
}
}
Array.prototype.shuffle =arrayShuffle;
und wenn du die for- durch eine abwärtslaufende do-while-Schleife ersetzt, wird es sogar noch etwas schneller:
~~~javascript
Array.prototype.shuffle=function() {
var l=this.length,t,zi,i=l;
do {
zi=Math.floor(Math.random()*i);
t=this[zi];
this[zi]=this[--i];
this[i]=t;
} while (i);
}
Gruß, Jürgen