Rückgabewert der rekursiven Funktion 'undefined'
Immer, wenn ich führen Sie dieses snippet an der Konsole.melden Sie vor Rücksendung gibt das array mit 20-mal den Wert 23.
Allerdings Konsole.log(Check(user, 0, 20)); liefert nur 'undefined'.
Was mache ich falsch?
var users = [23, 23, 23, 23, 23, 23, 23, 23, 23, 23];
console.log(Check(users, 0, 20));
function Check(ids, counter, limit){
ids.push(23);
//Recursion
if (counter+1 < limit){
Check(ids, counter+1, limit);
}
else {
console.log(ids);
return ids;
}
}
- Keine
return
- Anweisung in derif
block bedeutetundefined
. Es könnte leichter zu pflegen, wenn man einreturn
- Anweisung am Ende der Funktion und setzen Sie den Wert zurück auf der Grundlage derif
- Anweisung
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie vergessen, die ein Ergebnis zurückgeben von dem Punkt, wo Sie mit der Eingabe recusrion.
Aber Rückgabewert scheint nutzlos, Ursache' Ihrer Funktion zu verändern anfänglichen array.