JürgenB: Zufallszahl, Wiederholung ausschließen

Beitrag lesen

Hallo Mat,

Ich habe in der Zwischenzeit versucht, eine entsprechende Funktion mit Arrays zu finden, mir ist nicht ganz klar, wie das Mischen vonstatten geht. Hast Du da einen Lösungsansatz für mich?

die musst Du auch selbst basteln:

  
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;  
  }  
}  
  
var a=new Array(1,2,3,4,5,6);  
alert(a);  
a.misch();  
alert(a);  

Nur zur Sischeheit: Vorraussetzung ist immer noch, dass kein Element zweimal direkt hintereinander geladen wird.

probier es aus.

Gruß, Jürgen