Przykład z parametrem przez rekurencję w JavaScript

Z pomocą rekurencji kolejno wypiszmy elementy tablicy. Niech tablica początkowo przekazana parametrom funkcji:

javascriptfunc([1, 2, 3]);

Na razie bez rekurencji, używając metody shift wypiszmy wszystkie elementy tablicy po kolei:

javascriptfunction func(arr) {
  console.log(arr.shift()); // wypisze 1
  console.log(arr); // wypisze [2, 3] - tablica zmniejszyła się
  
  console.log(arr.shift()); // wypisze 2
  console.log(arr); // wypisze [3] - tablica zmniejszyła się
  
  console.log(arr.shift()); // wypisze 3
  console.log(arr); // wypisze [] - tablica pusta
}

func([1, 2, 3]);

Jak widzisz, metoda shift wycina i zwraca pierwszy element tablicy, przy czym sama tablica zmniejsza się o ten element.

Wykorzystajmy teraz rekurencję:

javascriptfunction func(arr) {
  console.log(arr.shift(), arr);
  
  if (arr.length != 0) {
    func(arr);
  }
}

func([1, 2, 3]);

W rzeczywistości, oczywiście, najłatwiej jest przejść elementy tablicy pętlą. Przytoczone przykłady po prostu demonstrują działanie rekurencji na prostych przykładach (nie z życia wziętych). Bardziej przydatne przykłady zastosowania rekurencji są po prostu bardziej skomplikowane, rozważymy je nieco poniżej.

Задание 1

Dana jest tablica:

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

Za pomocą rekurencji wypisz elementy tej tablicy do konsoli.