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:
func([1, 2, 3]);
Zatím bez rekurze pomocí metody
shift
vypišme všechny prvky pole postupně:
function 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:
function 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.
Je dáno pole:
let arr = [1, 2, 3, 4, 5];
Pomocí rekurze vypište prvky tohoto pole do konzole.