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 der if block bedeutet undefined. Es könnte leichter zu pflegen, wenn man ein return - Anweisung am Ende der Funktion und setzen Sie den Wert zurück auf der Grundlage der if - Anweisung
InformationsquelleAutor Hedge | 2013-07-08
Schreibe einen Kommentar