Map
Map কী-ভ্যালু পেয়ার ধারণ করে এবং কীগুলোর আসল ইনসারশন অর্ডার মনে রাখে। Map শুধু ইউনিক ভ্যালু স্টোর করতে দেয়।
সিনট্যাক্স
new Map([iterable])
কেস-১: Map-এর অনুপস্থিতি
Map না থাকলে, যেহেতু জাভাস্ক্রিপ্ট অবজেক্ট শুধু একটি কী অবজেক্ট সাপোর্ট করে, যদি একাধিক কী দিয়ে দেন তবে শুধু শেষটি মনে থাকবে। নিচের উদাহরণে a এবং b কী দেওয়া সত্ত্বেও শুধু b মনে থাকে এবং আউটপুট হিসেবে দেখায়। এই সমস্যা সমাধানের জন্য জাভাস্ক্রিপ্টে "Map" আসে।
উদাহরণ
<html> <body> <script> const x = {}; const a = {}; const b = { num:3 } x[a] = "a"; x[b] = "b"; document.write(JSON.stringify(x)); </script> </body> </html>
আউটপুট
{"[object Object]":"b"}
কেস-২: Map-এর উপস্থিতি
Map আসল ইনসারশন অর্ডার মনে রাখে বলে সকল কী-ভ্যালু পেয়ার দেখায়, যেমন '{}' কী হিসেবে এবং 'a' ভ্যালু হিসেবে ইত্যাদি।
উদাহরণ
<html> <body> <script> const a = {}; const b = { num:3 } const map = new Map(); map.set(a, "a").set(b, "b"); for(let[key, value] of map.entries()){ document.write(JSON.stringify(key, value)); // Map দিয়ে কী দেখানো document.write((key, value)); // Map দিয়ে ভ্যালু দেখানো } </script> </body> </html>
আউটপুট
{}a {"num":3}b