Пример с параметър чрез рекурсия в 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];

С помощта на рекурсия изведете елементите на този масив в конзолата.