În acest tutorial, veți afla despre recursivitatea în JavaScript cu ajutorul unor exemple.
Recursivitatea este un proces de chemare în sine. O funcție care se numește singură se numește funcție recursivă.
Sintaxa funcției recursive este:
function recurse() ( // function code recurse(); // function code ) recurse();
Aici, recurse()
funcția este o funcție recursivă. Se numește în interiorul funcției.

O funcție recursivă trebuie să aibă o condiție pentru a nu mai apela. În caz contrar, funcția este numită pe termen nelimitat.
Odată ce condiția este îndeplinită, funcția încetează să se mai cheme. Aceasta se numește o condiție de bază.
Pentru a preveni recursivitatea infinită, puteți utiliza instrucțiunea if … else (sau o abordare similară) în care o ramură face apelul recursiv, iar cealaltă nu.
Deci, în general, arată așa.
function recurse() ( if(condition) ( recurse(); ) else ( // stop calling recurse() ) ) recurse();
Un exemplu simplu de funcție recursivă ar fi numărătoarea inversă a valorii la 1.
Exemplul 1: Imprimați numerele
// 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);
Ieșire
4 3 2 1
În programul de mai sus, utilizatorul transmite un număr ca argument atunci când apelează o funcție.
În fiecare iterație, valoarea numărului este scăzută cu 1 și funcția countDown()
este apelată până când numărul este pozitiv. Iată newNumber> 0
condiția de bază.
Acest apel recursiv poate fi explicat în următorii pași:
countDown (4) imprimă 4 și apeluri countDown (3) countDown (3) imprimă 3 și apeluri countDown (2) countDown (2) tipărește 2 și apeluri countDown (1) countDown (1) tipărește 1 și apeluri countDown (0)
Când numărul ajunge la 0 , condiția de bază este îndeplinită și funcția nu mai este apelată.
Exemplul 2: Găsiți factorii
// 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)`); )
Ieșire
Factorialul de 3 este 6
Când apelați funcția factorial()
cu un număr întreg pozitiv, aceasta se va recursiv prin scăderea numărului.
Acest proces continuă până când numărul devine 1 . Atunci când numărul ajunge la 0 , se returnează 1 .

Acest apel recursiv poate fi explicat în următorii pași:
factorial (3) returnează 3 * factorial (2) factorial (2) returnează 3 * 2 * factorial (1) factorial (1) returnează 3 * 2 * 1 * factorial (0) factorial (0) returnează 3 * 2 * 1 * 1