সমস্যা
আমাদের একটি জাভাস্ক্রিপ্ট ফাংশন লিখতে হবে যা একটি নেস্টেড অ্যারে নেবে এবং সেটি-তে থাকা এলিমেন্টের ডিপ কাউন্ট রিটার্ন করবে।
ইনপুট
const arr = [1, 2, [3, 4, [5]]];
আউটপুট
const output = 7;
কারণ লেভেল ১-এ ২টি এলিমেন্ট, লেভেল ২-এ ২টি এবং লেভেল ৩-এ ১টি, মোট ডিপ কাউন্ট ৭।
উদাহরণ
নিচের কোডটি –
const arr = [1, 2, [3, 4, [5]]]; const deepCount = (arr = []) => { return arr .reduce((acc, val) => { return acc + (Array.isArray(val) ? deepCount(val) : 0); }, arr.length); }; console.log(deepCount(arr));কোড ব্যাখ্যা
আমরা Array.prototype.reduce() মেথড ব্যবহার করেছি অ্যারে ওয়াল্ক করার জন্য এবং যদি কোনো ইটারেশনে নেস্টেড অ্যারে পাওয়া যায়, তবে রিকার্শিভলি আমাদের ফাংশন কল করেছি।
আউটপুট
7