Esimerkki parametrin kanssa rekursion avulla JavaScriptissä
Esitetään taulukon elementit peräkkäin rekursion avulla. Olkoon taulukko aluksi lähetetty funktion parametriksi:
func([1, 2, 3]);
Esitetään kaikki taulukon elementit vuorotellen
käyttämällä metodia
shift
ilman rekursiota aluksi:
function func(arr) {
console.log(arr.shift()); // tulostaa 1
console.log(arr); // tulostaa [2, 3] - taulukko pieneni
console.log(arr.shift()); // tulostaa 2
console.log(arr); // tulostaa [3] - taulukko pieneni
console.log(arr.shift()); // tulostaa 3
console.log(arr); // tulostaa [] - taulukko on tyhjä
}
func([1, 2, 3]);
Kuten näette, metodi shift leikkaa
ja palauttaa taulukon ensimmäisen elementin,
samalla itse taulukko pienenee kyseisellä elementillä.
Käytetään nyt rekursiota:
function func(arr) {
console.log(arr.shift(), arr);
if (arr.length != 0) {
func(arr);
}
}
func([1, 2, 3]);
Todellisuudessa taulukon elementtien läpikäynti silmukalla on tietysti helpointa. Annetut esimerkit osoittavat yksinkertaisesti rekursion toimintaa yksinkertaisilla (ei arkielämän) esimerkeillä. Hyödyllisemmät rekursion sovelluskohteet ovat vain monimutkaisempia, käsittelemme niitä hieman myöhemmin.
Annettu taulukko:
let arr = [1, 2, 3, 4, 5];
Käytä rekursiota tulostaaksesi tämän taulukon elementit konsoliin.