Przykład z parametrem przez rekurencję w JavaScript
Z pomocą rekurencji kolejno wypiszmy elementy tablicy. Niech tablica początkowo przekazana parametrom funkcji:
func([1, 2, 3]);
Na razie bez rekurencji, używając metody
shift
wypiszmy wszystkie elementy tablicy po kolei:
function 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ę:
function 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.
Dana jest tablica:
let arr = [1, 2, 3, 4, 5];
Za pomocą rekurencji wypisz elementy tej tablicy do konsoli.