Esimerkki parametrin kanssa rekursion avulla JavaScriptissä

Esitetään taulukon elementit peräkkäin rekursion avulla. Olkoon taulukko aluksi lähetetty funktion parametriksi:

javascriptfunc([1, 2, 3]);

Esitetään kaikki taulukon elementit vuorotellen käyttämällä metodia shift ilman rekursiota aluksi:

javascriptfunction 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:

javascriptfunction 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.

Задание 1

Annettu taulukko:

javascriptlet arr = [1, 2, 3, 4, 5];

Käytä rekursiota tulostaaksesi tämän taulukon elementit konsoliin.