JavaScript এর flatMap() মেথড

 

JavaScript এর flatMap() মেথড – সহজ ও বিস্তারিত টিউটোরিয়াল

flatMap() হচ্ছে JavaScript এর একটি শক্তিশালী array method, যা map() ও flat() একসাথে মিলিয়ে কাজ করে। এই মেথডটি ES2019 (ES10) এ যুক্ত হয়েছে এবং এটি প্রতিটি এলিমেন্টে একটি ফাংশন প্রয়োগ করে এবং তারপর রেজাল্টিং অ্যারেগুলোকে একটি স্তরে ফ্ল্যাট করে ফেলে।

flatMap() এর মূল কাজ কী?

এটি মূলত দুটি কাজ একসাথে করে:

  • প্রথমে: map() এর মতো প্রতিটি আইটেমের উপর একটি callback ফাংশন চালায়।
  • তারপর: রিটার্নকৃত অ্যারেগুলোকে একটি স্তরে flat() করে ফেলে।

flatMap() এর সিনট্যাক্স

সিনট্যাক্স:
array.flatMap(callback(currentValue[, index[, array]])[, thisArg])

উদাহরণ ১: সাধারণ ব্যবহারের ধরণ

ধরি, আমাদের কাছে একটি অ্যারে আছে এবং আমরা প্রতিটি সংখ্যার সাথে একটি অ্যারে ফেরত দিতে চাই:

JavaScript কোড:
<script>
const numbers = [1, 2, 3];
const result = numbers.flatMap(x => [x, x * 2]);
console.log(result); // Output: [1, 2, 2, 4, 3, 6]
</script>

map() ব্যবহার করলে ফলাফল হতো nested array:

<script>
const result = numbers.map(x => [x, x * 2]);
console.log(result); // Output: [[1, 2], [2, 4], [3, 6]]
</script>

flatMap() vs map()

map() flatMap()
নেস্টেড অ্যারে তৈরি করে এক স্তরের ফ্ল্যাট অ্যারে রিটার্ন করে
manual ফ্ল্যাট করার প্রয়োজন অটো ফ্ল্যাট করে

উদাহরণ ২: স্ট্রিং স্প্লিট করে ফ্ল্যাট করা

এখন আমরা এমন একটি অ্যারে নিবো যেখানে প্রতিটি উপাদান একটি বাক্য:

<script>
const sentences = [“hello world”, “flat map”, “javascript method”];
const words = sentences.flatMap(sentence => sentence.split(” “));
console.log(words); // Output: [“hello”, “world”, “flat”, “map”, “javascript”, “method”]
</script>

❗ কিছু গুরুত্বপূর্ণ বিষয়

  • শুধুমাত্র এক স্তর পর্যন্ত ফ্ল্যাট করে (nested nested array হলে পুরোপুরি ফ্ল্যাট করে না)
  • undefined বা null এলিমেন্টকে বাদ দেয় না
  • একটি নতুন অ্যারে রিটার্ন করে; মূল অ্যারে অপরিবর্তিত থাকে

কোন ব্রাউজারে কাজ করে?

flatMap() নিচের ব্রাউজারগুলোতে সাপোর্ট করে:

  • Chrome 73+
  • Firefox 62+
  • Edge 79+
  • Safari 12+
  • Node.js 11+

উপসংহার

flatMap() হলো একটি চমৎকার মেথড যা কোডকে ক্লিন, কনসাইস এবং পারফরম্যান্স ফ্রেন্ডলি করে তোলে। আপনি যদি map() এবং flat() একসাথে ব্যবহার করে থাকেন, তাহলে flatMap() আপনার জন্য পারফেক্ট সমাধান।


 

Leave a Reply