আমাদের একটি JavaScript অ্যারে ফাংশন লিখতে হবে যা একটি নেস্টেড অ্যারে গ্রহণ করে এবং নেস্টিং ছাড়া সব এলিমেন্টসহ একটি অ্যারে রিটার্ন করবে।
উদাহরণস্বরূপ:
//যদি ইনপুট হয়: const arr = [[1, 2, 3], [4, 5], [6]]; //তবে আউটপুট হবে: const output = [1, 2, 3, 4, 5, 6];
তাহলে, এই ফাংশনের কোড লিখি:
পদ্ধতি ১: রিকার্সন ব্যবহার করে
এখানে আমরা মূল নেস্টেড অ্যারেতে লুপ চালিয়ে রিকার্সিভলি নেস্টেড এলিমেন্টগুলোকে একটি নতুন অ্যারেতে পুশ করব।
উদাহরণ
const arr = [[1, 2, 3], [4, 5], [6]]; const flatten = function(){ let res = []; for(let i = 0; i < this.length; i++){ if(Array.isArray(this[i])){ res.push(...this[i].flatten()); } else { res.push(this[i]); }; }; return res; }; Array.prototype.flatten = flatten; console.log(arr.flatten());পদ্ধতি ২: Array.prototype.reduce() ব্যবহার করে
এখানে আমরা reduce() মেথড ব্যবহার করে একটি নতুন অ্যারে নির্মাণ করব নিচের মতো:
উদাহরণ
const arr = [[1, 2, 3], [4, 5], [6]]; const flatten = function(){ return this.reduce((acc, val) => { return acc.concat(...val); }, []); }; Array.prototype.flatten = flatten; console.log(arr.flatten());আউটপুট
দুই পদ্ধতির কনসোল আউটপুট হবে:
[ 1, 2, 3, 4, 5, 6 ]