Намунаи параметр бо истифода аз рекурсия дар 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];
Бо ёрии рекурсия элементҳои ин массивро дар консоль чоп кунед.