আমাদের একটি জাভাস্ক্রিপ্ট অ্যারে ফাংশন লিখতে হবে যা একটি নেস্টেড অ্যারে নেয় এবং অ্যারেতে উপস্থিত সমস্ত উপাদানের সাথে কোনো নেস্টিং ছাড়াই অ্যানারে ফেরত দেয়৷
যেমন −
//if the input is: const arr = [[1, 2, 3], [4, 5], [6]]; //then the output should be: const output = [1, 2, 3, 4, 5, 6];
অতএব, আসুন এই ফাংশনের জন্য কোড লিখি -
পদ্ধতি 1:পুনরাবৃত্তি ব্যবহার করা
এখানে আমরা মূল নেস্টেড অ্যারে লুপ করব এবং নেস্টেড উপাদানগুলিকে একটি নতুন অ্যারেতে পুশ করব৷
উদাহরণ
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());
পদ্ধতি 2:Arrray.prototype.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 ]