আমাদের একটি জাভাস্ক্রিপ্ট অ্যারে ফাংশন লিখতে হবে যা একটি নেস্টেড অ্যারে নেয় এবং অ্যারেতে উপস্থিত সমস্ত উপাদানের সাথে কোনো নেস্টিং ছাড়াই অ্যানারে ফেরত দেয়৷
যেমন −
//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 ]