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>
<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>
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>
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() আপনার জন্য পারফেক্ট সমাধান।