JavaScript-da rekursiya orqali parametr bilan misol
Keling, rekursiya yordamida massiv elementlarini ketma-ketlik bilan chiqaramiz. Massiv dastlab funksiya parametriga uzatilsin:
func([1, 2, 3]);
Keling, hozircha rekursiyasiz,
shift
metodidan foydalanib massivning barcha elementlarini
navbat bilan chiqaramiz:
function func(arr) {
console.log(arr.shift()); // 1 ni chiqaradi
console.log(arr); // [2, 3] ni chiqaradi - massiv qisqardi
console.log(arr.shift()); // 2 ni chiqaradi
console.log(arr); // [3] ni chiqaradi - massiv qisqardi
console.log(arr.shift()); // 3 ni chiqaradi
console.log(arr); // [] ni chiqaradi - massiv bo'sh
}
func([1, 2, 3]);
Ko'rib turganingizdek, shift metodi
massivning birinchi elementini kesib oladi va
qaytaradi, shu bilan birga massivning o'zi
shu elementga qisqaradi.
Keling, endi rekursiyadan foydalanamiz:
function func(arr) {
console.log(arr.shift(), arr);
if (arr.length != 0) {
func(arr);
}
}
func([1, 2, 3]);
Aslida, albatta, massiv elementlarini aylana orqali takrorlash ancha oson. Keltirilgan misollar oddiy (amaliy bo'lmagan) misollar yordamida rekursiyaning ishlashini namoyish etadi. Rekursiyaning qo'llanilishining yana foydali misollari biroz murakkabroq, ularni keyinroq ko'rib chiqamiz.
Massiv berilgan:
let arr = [1, 2, 3, 4, 5];
Rekursiya yordamida ushbu massivning elementlarini konsolga chiqaring.