কম্পিউটার টিউটোরিয়াল

JavaScript-এ অ্যারে ফ্ল্যাটেন করা


আমাদের একটি 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 ]

  1. জাভাস্ক্রিপ্ট Array slice() মেথড

  2. জাভাস্ক্রিপ্ট Array shift() মেথড

  3. জাভাস্ক্রিপ্ট Array reverse() মেথড

  4. জাভাস্ক্রিপ্টে অ্যারে ডিস্ট্রাকচারিং