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:

javascriptfunc([1, 2, 3]);

Să afișăm toate elementele array-ului pe rând, momentan fără recursivitate, folosind metoda shift:

javascriptfunction 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:

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

Задание 1

Dat fiind array-ul:

javascriptlet arr = [1, 2, 3, 4, 5];

Folosind recursivitatea, afișați elementele acestui array în consolă.