Recursiune JavaScript (cu exemple)

Î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.

Funcționarea recursivității în JavaScript

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> 0condiț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 .

Funcționarea recursivității JavaScript în Factorial

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

Articole interesante...