Příklad s parametrem přes rekurzi v JavaScriptu

Pomocí rekurze postupně vypišme prvky pole. Nechť je pole最初álně předáno parametrům funkce:

javascriptfunc([1, 2, 3]);

Zatím bez rekurze pomocí metody shift vypišme všechny prvky pole postupně:

javascriptfunction func(arr) {
  console.log(arr.shift()); // vypíše 1
  console.log(arr); // vypíše [2, 3] - pole se zmenšilo
  
  console.log(arr.shift()); // vypíše 2
  console.log(arr); // vypíše [3] - pole se zmenšilo
  
  console.log(arr.shift()); // vypíše 3
  console.log(arr); // vypíše [] - pole je prázdné
}

func([1, 2, 3]);

Jak vidíte, metoda shift vyjme a vrátí první prvek pole, přičemž samotné pole se tímto prvkem zmenší.

Nyní použijme rekurzi:

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

func([1, 2, 3]);

Samozřejmě, nejjednodušší je procházet prvky pole cyklem. Uvedené příklady jsou zatím jen demonstrací práce rekurze na jednoduchých (neživotních) příkladech. Užitečnější příklady použití rekurze jsou prostě složitější, rozebereme je o něco později.

Задание 1

Je dáno pole:

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

Pomocí rekurze vypište prvky tohoto pole do konzole.