Пример са параметром кроз рекурзију у JavaScript-у

Хајде да, уз помоћ рекурзије, узастопно испишемо елементе низа. Нека низ иницијално буде прослеђен параметру функције:

javascriptfunc([1, 2, 3]);

Хајде за сада без рекурзије, користећи метод shift испишимо све елементе низа један за другим:

javascriptfunction 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 извлачи и враћа први елемент низа, при чему се сам низ смањује за тај елемент.

Хајде сада да употребимо рекурзију:

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

func([1, 2, 3]);

У ствари, наравно, најлакше је прелистати елементе низа петљом. Наведени примери су за сада једноставна демонстрација рада рекурзије на једноставним примерима (не из стварног живота). Кориснији примери примене рекурзије су једноставно сложенији, размотрићемо их мало касније.

Задание 1

Дат је низ:

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

Уз помоћ рекурзије испишите елементе овог низа у конзолу.