Näide parameetriga rekursiooni kaudu JavaScriptis

Võtame rekursiooni abil järjestikku massiivi elemendid välja. Olgu massiiv algselt funktsiooni parameetriks antud:

javascriptfunc([1, 2, 3]);

Teeme seda esialgu ilma rekursioonita, kasutades meetodit shift kuvame kõik massiivi elemendid järjekorras:

javascriptfunction func(arr) {
  console.log(arr.shift()); // väljastab 1
  console.log(arr); // väljastab [2, 3] - massiiv vähenes
  
  console.log(arr.shift()); // väljastab 2
  console.log(arr); // väljastab [3] - massiiv vähenes
  
  console.log(arr.shift()); // väljastab 3
  console.log(arr); // väljastab [] - massiiv on tühi
}

func([1, 2, 3]);

Nagu näete, meetod shift lõikab välja ja tagastab massiivi esimese elemendi, samal ajal kui massiiv ise selle elemendi võrra väheneb.

Kasutame nüüd rekursiooni:

javascriptfunction func(arr) {
  console.log(arr.shift(), arr);
  
  if (arr.length != 0) {
    func(arr);
  }
}

func([1, 2, 3]);

Tegelikult on muidugi lihtsam massiivi elemendid läbida tsükliga. Toodud näited lihtsalt demonstreerivad rekursiooni tööd lihtsate näidete abil (mitte elulistest olukordadest). Veel kasulikumaid rekursiooni rakendusnäiteid lihtsalt on keerulisem, käsitleme neid veidi allpool.

Задание 1

Antud massiiv:

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

Kasutades rekursiooni, kuva selle massiivi elemendid konsooli.