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]);
Кўриб турганingizдек, shift усули
масссивнинг биринчи элементани кесиб олиб қайтаради,
бунинг натижасида масссивнинг ўзи шу элементга қийсиқади.
Келинг, энди рекурсиядан фойдаланамиз:
function func(arr) {
console.log(arr.shift(), arr);
if (arr.length != 0) {
func(arr);
}
}
func([1, 2, 3]);
Албатта, ҳақиқий амалиётда масссив элементларини цикл ёрдамида aylantirib чиқиш анча осон. Келтирилган мисоллар оддий (ҳаётчан бўлмаган) мисолларда рекурсиянинг ишлашини намoиш этадилар. Рекурсиянинг фойдали қўлланилиш мисоллари эса бир оз мураккаброқ, биз уларни бир оз keyinroq кўриб чиқамиз.
Масссив берилган:
let arr = [1, 2, 3, 4, 5];
Рекурсия ёрдамида шу масссив элементларини консoлга чиқаринг.