JavaScript-Rekursion (mit Beispielen)

In diesem Tutorial lernen Sie anhand von Beispielen die Rekursion in JavaScript kennen.

Rekursion ist ein Prozess, sich selbst aufzurufen. Eine Funktion, die sich selbst aufruft, wird als rekursive Funktion bezeichnet.

Die Syntax für die rekursive Funktion lautet:

 function recurse() ( // function code recurse(); // function code ) recurse();

Hier ist die recurse()Funktion eine rekursive Funktion. Es ruft sich innerhalb der Funktion auf.

Rekursion in JavaScript

Eine rekursive Funktion muss die Bedingung haben, dass sie sich nicht mehr selbst aufruft. Andernfalls wird die Funktion auf unbestimmte Zeit aufgerufen.

Sobald die Bedingung erfüllt ist, ruft die Funktion sich nicht mehr selbst auf. Dies wird als Grundbedingung bezeichnet.

Um eine unendliche Rekursion zu verhindern, können Sie die if… else-Anweisung (oder einen ähnlichen Ansatz) verwenden, bei der ein Zweig den rekursiven Aufruf ausführt und der andere nicht.

So sieht es im Allgemeinen aus.

 function recurse() ( if(condition) ( recurse(); ) else ( // stop calling recurse() ) ) recurse();

Ein einfaches Beispiel für eine rekursive Funktion wäre, den Wert auf 1 herunterzuzählen.

Beispiel 1: Zahlen drucken

 // program to count down numbers to 1 function countDown(number) ( // display the number console.log(number); // decrease the number value const newNumber = number - 1; // base case if (newNumber> 0) ( countDown(newNumber); ) ) countDown(4);

Ausgabe

 4 3 2 1

Im obigen Programm übergibt der Benutzer beim Aufrufen einer Funktion eine Zahl als Argument.

In jeder Iteration wird der Zahlenwert um 1 verringert und die Funktion countDown()aufgerufen, bis die Zahl positiv ist. Hier newNumber> 0ist die Grundbedingung.

Dieser rekursive Aufruf kann in den folgenden Schritten erklärt werden:

 countDown (4) druckt 4 und ruft countDown (3) auf countDown (3) druckt 3 und ruft countDown (2) auf countDown (2) druckt 2 und ruft countDown (1) auf countDown (1) druckt 1 und ruft countDown (0) auf

Wenn die Zahl 0 erreicht , ist die Grundbedingung erfüllt und die Funktion wird nicht mehr aufgerufen.

Beispiel 2: Factorial finden

 // program to find the factorial of a number function factorial(x) ( // if number is 0 if (x === 0) ( return 1; ) // if number is positive else ( return x * factorial(x - 1); ) ) const num = 3; // calling factorial() if num is non-negative if (num> 0) ( let result = factorial(num); console.log(`The factorial of $(num) is $(result)`); )

Ausgabe

 Die Fakultät von 3 ist 6

Wenn Sie eine Funktion factorial()mit einer positiven Ganzzahl aufrufen, ruft sie sich rekursiv auf, indem sie die Nummer verringert.

Dieser Vorgang wird fortgesetzt, bis die Zahl 1 wird . Wenn die Zahl 0 erreicht , wird 1 zurückgegeben.

Arbeiten mit JavaScript-Rekursion in Factorial

Dieser rekursive Aufruf kann in den folgenden Schritten erklärt werden:

 Fakultät (3) gibt 3 * Fakultät (2) Fakultät (2) gibt 3 * 2 * Fakultät (1) Fakultät (1) gibt 3 * 2 * 1 * Fakultät (0) Fakultät (0) gibt 3 * 2 * 1 * zurück 1

Interessante Beiträge...