Näide parameetriga rekursiooni kaudu JavaScriptis
Võtame rekursiooni abil järjestikku massiivi elemendid välja. Olgu massiiv algselt funktsiooni parameetriks antud:
func([1, 2, 3]);
Teeme seda esialgu ilma rekursioonita, kasutades meetodit
shift
kuvame kõik massiivi elemendid järjekorras:
function 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:
function 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.
Antud massiiv:
let arr = [1, 2, 3, 4, 5];
Kasutades rekursiooni, kuva selle massiivi elemendid konsooli.