⊗jsPmRcMS 278 of 505 menu

JavaScript-এ রিকার্শন এবং মাল্টিডাইমেনশনাল স্ট্রাকচার

একটি মাল্টিডাইমেনশনাল অ্যারে দেওয়া আছে যার নেস্টিং এর স্তর নির্বিচারে, উদাহরণস্বরূপ, এইরকম:

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

আপনি দেখতে পাচ্ছেন, এই অ্যারেটির একটি জটিল স্ট্রাকচার আছে, এবং এটি ধরে নেওয়া হয় যে এই স্ট্রাকচারটি নির্বিচারে হতে পারে এবং নেস্টিং এর স্তর যেকোনো গভীরতার হতে পারে।

ধরুন আমরা আমাদের অ্যারের সমস্ত প্রিমিটিভ (অর্থাৎ, অ্যারে নয়) এলিমেন্ট কনসোলে প্রিন্ট করতে চাই। এই ক্ষেত্রে, এইরকম অ্যারে ট্রাভার্স করার জন্য আমরা সহজেই লুপ ব্যবহার করতে পারব না, কারণ অ্যারের একটি অনিয়মিত স্ট্রাকচার আছে এবং নেস্টিং এর অজানা স্তর আছে।

তবে, এইরকম অ্যারে ট্রাভার্স করার জন্য রিকার্শন ব্যবহার করা খুবই সুবিধাজনক হবে।

প্রথমে একটি ফাংশন তৈরি করি, যেখানে আমরা প্যারামিটার হিসেবে আমাদের অ্যারে পাস করব, এবং ফাংশনের ভিতরে আমাদের অ্যারে ট্রাভার্স করার জন্য একটি লুপ তৈরি করব:

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

আমাদের তৈরি করা লুপটি শুধুমাত্র মূল অ্যারের এলিমেন্টগুলো ট্রাভার্স করবে। অর্থাৎ, প্রথমে এটি 1 আউটপুট করবে, তারপর [2, 7, 8], এবং তারপর [3, 4, [5, [6, 7]]

এখন লুপের ভিতরে প্রিমিটিভ এলিমেন্ট এবং অ্যারে এলিমেন্ট আলাদা করি:

function func(arr) { for (let elem of arr) { if (typeof elem == 'object') { // এলিমেন্ট - একটি অ্যারে } else { // এলিমেন্ট - একটি প্রিমিটিভ console.log(elem); } } } func([1, [2, 7, 8], [3, 4, [5, [6, 7]]]]);

এবং এখন এমন করি যাতে যদি আমাদের এলিমেন্ট একটি অ্যারে হয়, ফাংশনটি নিজেকেই কল করে, এই অ্যারেটি প্যারামিটার হিসেবে পাস করে:

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]]]]);

একটি মাল্টিডাইমেনশনাল অবজেক্ট দেওয়া আছে যার নেস্টিং এর স্তর নির্বিচারে, উদাহরণস্বরূপ, এইরকম:

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

রিকার্শন ব্যবহার করে এই অবজেক্টের সমস্ত প্রিমিটিভ এলিমেন্ট কনসোলে প্রিন্ট করুন।

একটি মাল্টিডাইমেনশনাল অ্যারে দেওয়া আছে যার নেস্টিং এর স্তর নির্বিচারে, উদাহরণস্বরূপ, এইরকম:

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

এমন একটি কোড লিখুন যা আমাদের মাল্টিডাইমেনশনাল অ্যারেকে একটি ওয়ান-ডাইমেনশনাল অ্যারেতে রূপান্তরিত করবে। উপরে উল্লিখিত অ্যারের জন্য এটি এইরকম দেখাবে:

[1, 2, 7, 8, 3, 4, 5, 6, 7]
বাংলা
AfrikaansAzərbaycanБългарскиБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
আমরা সাইট পরিচালনা, বিশ্লেষণ এবং ব্যক্তিগতকরণের জন্য কুকি ব্যবহার করি। ডেটা প্রক্রিয়াকরণ গোপনীয়তা নীতি অনুযায়ী করা হয়।
সব গ্রহণ করুন কনফিগার করুন প্রত্যাখ্যান করুন