Micha: Zufallsausgabe

Beitrag lesen

Hallo David,

Du darfst nicht jede Zufallszahl direkt ins Array speichern, sondern mußt schauen, ob es den Wert schon gibt. Eine Methode inArray() gibt es nicht, kann aber "nachgebaut" werden. In einer Schleife lässt Du nun die Zufallswerte ermitteln und prüfst, ob der Wert schon dabei war. Ist er neu, fügst Du diesen hinzu. Das ganze machst Du solange, bis die gewünschte Array-Länge erreicht ist

  
Array.prototype.inArray = function(val){  
  for (var i=0; i<this.length; i++)  
    if (typeof(this[i]) == "object"){  
      return this[i].inArray(val);  
    }  
    else if (this[i] == val)  
      return true;  
  return false;  
}  
  
var zahlen = [];  
do {  
  var bla=Math.round(Math.random()*mitglieder+1);  
  if (!zahlen.inArray( bla ))  
    zahlen.push( bla );  
while (zahlen.length < mitglieder)

Mit freundlichem Gruß
Micha