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

জাভাস্ক্রিপ্টে অ্যারে ডিপ ফ্ল্যাটেন (Deep Flatten) করা

অ্যারে ফ্ল্যাটেনিং

অ্যারে ফ্ল্যাটেনিং হলো প্রদত্ত অ্যারেতে নেস্টেড অ্যারে গ্রুপকে মার্জ করে একক ডাইমেনশনাল অ্যারে বানানো।

অ্যারে ফ্ল্যাটেন করার দুটি পদ্ধতি

১) concat.apply()

নিচের উদাহরণে কিছু নেস্টেড অ্যারে আছে যেগুলো 3, 4, 5, 6 এলিমেন্ট ধারণ করে। concat() মেথড দিয়ে ফ্ল্যাটেন করার পর আউটপুট: 1, 2, 3, 4, 5, 6, 9।

উদাহরণ

<html> <body> 
<script> 
  var arrays = [1, 2, [3, 4, [5, 6]], 9];
  var merged = [].concat.apply([], arrays);
  document.write(merged);
</script> 
</body> </html>

আউটপুট

1,2,3,4,5,6,9

২) array.flat()

নিচের উদাহরণে নেস্টেড এলিমেন্ট আছে 2, 3, 4, 5, 6, 9। array.flat() মেথড দিয়ে ফ্ল্যাটেন করার পর আউটপুট: 1, 2, 2, 3, 4, 5, 6, 9।

উদাহরণ

<html> <body> 
<script> 
  const arrays = [1, 2, [2, 3, [4, 5, [6, 9]]]];
  const merged = arrays.flat(2); // depth 2
  document.write(merged);
</script> 
</body> </html>

আউটপুট

1,2,2,3,4,5,6,9

ব্যাখ্যা

flat() মেথড ES2019-এ যোগ করা হয়েছে। এটি depth প্যারামিটার নেয় (ডিফল্ট ১)। flat(Infinity) দিয়ে যেকোনো ডেপথের নেস্টেড অ্যারে ফ্ল্যাটেন করা যায়। concat.apply() পুরানো পদ্ধতি, শুধু এক লেভেল ফ্ল্যাটেন করে।

  1. জাভাস্ক্রিপ্টে অ্যারে থেকে সেটে কনভার্ট করা

  2. জাভাস্ক্রিপ্টে অবজেক্টের অ্যারে ID দিয়ে গ্রুপ করা

  3. জাভাস্ক্রিপ্টে নেস্টেড অ্যারে এক লাইনে ফ্ল্যাটেন করা

  4. JavaScript অ্যারেকে C# অ্যারেতে রূপান্তর করা