Пример са параметром кроз рекурзију у JavaScript-у
Хајде да, уз помоћ рекурзије, узастопно испишемо елементе низа. Нека низ иницијално буде прослеђен параметру функције:
func([1, 2, 3]);
Хајде за сада без рекурзије, користећи метод
shift
испишимо све елементе низа један за другим:
function func(arr) {
console.log(arr.shift()); // исписаће 1
console.log(arr); // исписаће [2, 3] - низ се смањио
console.log(arr.shift()); // исписаће 2
console.log(arr); // исписаће [3] - низ се смањио
console.log(arr.shift()); // исписаће 3
console.log(arr); // исписаће [] - низ је празан
}
func([1, 2, 3]);
Као што видите, метод shift извлачи
и враћа први елемент низа, при
чему се сам низ смањује за тај елемент.
Хајде сада да употребимо рекурзију:
function func(arr) {
console.log(arr.shift(), arr);
if (arr.length != 0) {
func(arr);
}
}
func([1, 2, 3]);
У ствари, наравно, најлакше је прелистати елементе низа петљом. Наведени примери су за сада једноставна демонстрација рада рекурзије на једноставним примерима (не из стварног живота). Кориснији примери примене рекурзије су једноставно сложенији, размотрићемо их мало касније.
Дат је низ:
let arr = [1, 2, 3, 4, 5];
Уз помоћ рекурзије испишите елементе овог низа у конзолу.