JavaScript-da rekursiya orqali parametr bilan misol

Keling, rekursiya yordamida massiv elementlarini ketma-ketlik bilan chiqaramiz. Massiv dastlab funksiya parametriga uzatilsin:

javascriptfunc([1, 2, 3]);

Keling, hozircha rekursiyasiz, shift metodidan foydalanib massivning barcha elementlarini navbat bilan chiqaramiz:

javascriptfunction 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:

javascriptfunction 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.

Задание 1

Massiv berilgan:

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

Rekursiya yordamida ushbu massivning elementlarini konsolga chiqaring.