Намунаи параметр бо истифода аз рекурсия дар 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];

Бо ёрии рекурсия элементҳои ин массивро дар консоль чоп кунед.