Primer sa parametrom preko rekurzije u JavaScript
Hajde, uz pomoć rekurzije da sekvencijalno prikažemo elemente niza. Neka se niz inicijalno prosledi kao parametar funkcije:
func([1, 2, 3]);
Hajde za sada bez rekurzije, koristeći metod
shift
da prikažemo sve elemente niza redom:
function func(arr) {
console.log(arr.shift()); // ispisuje 1
console.log(arr); // ispisuje [2, 3] - niz je smanjen
console.log(arr.shift()); // ispisuje 2
console.log(arr); // ispisuje [3] - niz je smanjen
console.log(arr.shift()); // ispisuje 3
console.log(arr); // ispisuje [] - niz je prazan
}
func([1, 2, 3]);
Kao što vidite, metod shift izvlači
i vraća prvi element niza, pri
čemu se sam niz smanjuje za taj element.
Sada hajde da upotrebimo rekurziju:
function func(arr) {
console.log(arr.shift(), arr);
if (arr.length != 0) {
func(arr);
}
}
func([1, 2, 3]);
Zapravo, naravno, najjednostavnije je preći kroz elemente niza petljom. Navedeni primeri za sada jednostavno demonstriraju rad rekurzije na jednostavnim primerima (ne realnim). Korisniji primeri primene rekurzije su jednostavno komplikovaniji, razmotrićemo ih malo kasnije.
Dat je niz:
let arr = [1, 2, 3, 4, 5];
Uz pomoć rekurzije prikažite elemente ovog niza u konzoli.