Príklad s parametrom cez rekurziu v JavaScripte
Pomocou rekurzie postupne vypíšme prvky poľa. Nech je pole na začiatku odovzdané parametrom funkcie:
func([1, 2, 3]);
Najprv bez rekurzie, pomocou metódy
shift
vypíšme všetky prvky poľa jeden po druhom:
function func(arr) {
console.log(arr.shift()); // vypíše 1
console.log(arr); // vypíše [2, 3] - pole sa zmenšilo
console.log(arr.shift()); // vypíše 2
console.log(arr); // vypíše [3] - pole sa zmenšilo
console.log(arr.shift()); // vypíše 3
console.log(arr); // vypíše [] - pole je prázdne
}
func([1, 2, 3]);
Ako vidíte, metóda shift vyextrahuje
a vráti prvý prvok poľa, pričom
samotné pole sa o tento prvok zmenší.
Teraz použime rekurziu:
function func(arr) {
console.log(arr.shift(), arr);
if (arr.length != 0) {
func(arr);
}
}
func([1, 2, 3]);
Samozrejme, najjednoduchšie je prechádzať prvky poľa pomocou cyklu. Uvedené príklady jednoducho demonštrujú prácu rekurzie na jednoduchých (neživotných) príkladoch. Prosnejšie príklady použitia rekurzie sú zložitejšie, preberieme ich o niečo neskôr.
Dané pole:
let arr = [1, 2, 3, 4, 5];
Pomocou rekurzie vypíšte prvky tohto poľa do konzoly.