JürgenB: rekursive Funktion

Beitrag lesen

Hallo Snucky,

hier meine Vermutung:

var keys_used=new Array();
//0 ist immer minimum für den Rückgabewert
function errechne_zufall(maximum) {
var ausschlag=Math.random();
var rueck=Math.round(maximum*ausschlag);

hier erhält rueck einen Wert ...

if (in_arr(rueck,keys_used)) {
  errechne_zufall(maximum); // <-----
}
else {
  keys_used.push(rueck);
  return rueck;
}
}

... der im Rekursionsfall nicht zurückgegeben wird.

Wenn du in der Zeile mit // <----- einfach
return errechne_zufall(maximum);
schreibst, sollte es gehen.

Allerdings schließe ich mich den anderen an: ich würde hier auch auf Rekursionen verzichten.

Gruß, Jürgen