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];
Рекурсиянын жардамы менен бул массивдин элементтерин консольго чыгарыңыз.