Пример с параметър чрез рекурсия в 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];
С помощта на рекурсия изведете елементите на този масив в конзолата.