⊗jsPmRcMS 278 of 505 menu

JavaScriptda Rekursiya va Ko‘p o‘lchovli Strukturalar

Bizga ixtiyoriy darajadagi ichki o‘rnatilgan ko‘p o‘lchovli massiv berilgan, masalan:

let arr = [ 1, [ 2, 7, 8 ], [ 3, 4, [5, [6, 7]], ] ];

Ko‘rib turganingizdek, bu massiv murakkab strukturaya ega, va bu strukturaning ixtiyoriy bo‘lishi va ichki o‘rnatish darajalari cheksiz chuqur bo‘lishi mumkin.

Faraz qilaylik, biz massivimizning barcha primitiv (ya'ni massiv bo‘lmagan) elementlarini konsolga chiqarmoqchimiz. Bunday holda, bu massivni takrorlash uchun sikllardan foydalanish mumkin emas, chunki massiv noto‘g‘ri strukturaya ega va noma'lum ichki o‘rnatish darajasiga ega.

Biroq, bunday massivni takrorlash uchun rekursiyadan foydalanish juda qulay.

Boshlash uchun, parametr sifatida massivimizni uzatadigan funktsiya yaratamiz va funktsiya ichida massivimizni takrorlash uchun sikl yaratamiz:

function func(arr) { for (let elem of arr) { console.log(elem); } } func([1, [2, 7, 8], [3, 4, [5, [6, 7]]]]);

Biz yaratgan sikl faqat asosiy massivning elementlarini takrorlaydi. Ya'ni, avval 1 ni chiqaradi, keyin [2, 7, 8], va keyin [3, 4, [5, [6, 7]].

Keling, endi siklda primitiv elementlar va massiv elementlarini ajratamiz:

function func(arr) { for (let elem of arr) { if (typeof elem == 'object') { // element - massiv } else { // element - primitiv console.log(elem); } } } func([1, [2, 7, 8], [3, 4, [5, [6, 7]]]]);

Va endi shunday qilamizki, agar bizning elementimiz massiv bo‘lsa, funktsiya o‘zini chaqirsin, parametr sifatida ushbu massivni uzatib:

function func(arr) { for (let elem of arr) { if (typeof elem == 'object') { func(elem); } else { console.log(elem); } } } func([1, [2, 7, 8], [3, 4, [5, [6, 7]]]]);

Bizga ixtiyoriy darajadagi ichki o‘rnatilgan ko‘p o‘lchovli ob'ekt berilgan, masalan:

{a: 1, b: {c: 2, d: 3, e: 4}, f: {g: 5, j: 6, k: {l: 7, m: {n: 8, o: 9}}}}

Rekursiya yordamida ushbu ob'ektning barcha primitiv elementlarini konsolga chiqaring.

Bizga ixtiyoriy darajadagi ichki o‘rnatilgan ko‘p o‘lchovli massiv berilgan, masalan:

[1, [2, 7, 8], [3, 4, [5, [6, 7]]]]

Ko‘p o‘lchovli massivimizni bir o‘lchovliga yoyib beradigan kod yozing. Yuqoridagi massiv uchun natija quyidagicha bo‘ladi:

[1, 2, 7, 8, 3, 4, 5, 6, 7]
Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish