Exemplu cu parametru prin recursivitate în JavaScript
Să, cu ajutorul recursivității, să afișăm secvențial elementele array-ului. Fie ca array-ul inițial să fie transmis ca parametru funcției:
func([1, 2, 3]);
Să afișăm toate elementele array-ului pe rând,
momentan fără recursivitate, folosind metoda
shift:
function func(arr) {
console.log(arr.shift()); // va afișa 1
console.log(arr); // va afișa [2, 3] - array-ul s-a micșorat
console.log(arr.shift()); // va afișa 2
console.log(arr); // va afișa [3] - array-ul s-a micșorat
console.log(arr.shift()); // va afișa 3
console.log(arr); // va afișa [] - array-ul este gol
}
func([1, 2, 3]);
După cum vedeți, metoda shift taie
și returnează primul element al array-ului, în timp ce
array-ul în sine se micșorează cu acest element.
Să folosim acum recursivitatea:
function func(arr) {
console.log(arr.shift(), arr);
if (arr.length != 0) {
func(arr);
}
}
func([1, 2, 3]);
Desigur, de fapt, este mai ușor să parcurgi elementele array-ului cu o buclă. Exemplele date pur și simplu demonstrează funcționarea recursivității cu exemple simple (nu din viața reală). Exemplele mai utile de aplicare a recursivității sunt pur și simplu mai complexe, le vom analiza puțin mai jos.
Dat fiind array-ul:
let arr = [1, 2, 3, 4, 5];
Folosind recursivitatea, afișați elementele acestui array în consolă.