JavaScript-এর Map হলো একটি built-in object, যেখানে data key-value pair আকারে সংরক্ষণ করা যায়। Map ব্যবহার করে key-এর মাধ্যমে খুব সহজে value যোগ, খোঁজা, পরিবর্তন এবং মুছে ফেলা যায়।
Info!
JavaScript Map মূলত key-value data সংরক্ষণ করার জন্য ব্যবহার করা হয়। Map-এর key হিসেবে string, number, object, function সহ বিভিন্ন ধরনের value ব্যবহার করা যায়।
JavaScript Map তৈরি করা
JavaScript-এ একটি নতুন Map তৈরি করতে new Map() ব্যবহার করা হয়।
const fruits = new Map();
এরপর set() method ব্যবহার করে Map-এ key এবং value যোগ করা যায়।
const fruits = new Map();
fruits.set("apples", 500);
fruits.set("bananas", 504);
fruits.set("mangoes", 100);
console.log(fruits);
JavaScript Map-এর Key এবং Value
Map-এর প্রতিটি entry-তে একটি key এবং একটি value থাকে।
key → value
apples → 500
bananas → 504
mangoes → 100
এখানে apples, bananas এবং mangoes হলো key এবং 500, 504, 100 হলো value।
JavaScript Map-এর set() Method
set() method ব্যবহার করে Map-এ নতুন key-value pair যোগ করা যায়।
const fruits = new Map();
fruits.set("apples", 500);
fruits.set("bananas", 504);
fruits.set("mangoes", 100);
একই Key আবার ব্যবহার করলে কী হয়?
একই key আবার set() করলে আগের value update হয়ে যায়।
const fruits = new Map();
fruits.set("apples", 500);
fruits.set("apples", 120);
console.log(fruits.get("apples"));
Output:
120
Info!
Map-এর key unique হয়। একই key আবার ব্যবহার করলে নতুন value আগের value-কে replace করে।
JavaScript Map-এর get() Method
get() method ব্যবহার করে কোনো key-এর value বের করা হয়।
const fruits = new Map();
fruits.set("apples", 500);
fruits.set("bananas", 504);
console.log(fruits.get("apples"));
Output:
500
Map-এর মধ্যে key না থাকলে get() undefined return করে।
console.log(fruits.get("orange"));
Output:
undefined
JavaScript Map-এর has() Method
has() method ব্যবহার করে কোনো key Map-এর মধ্যে আছে কি না check করা হয়। এটি true অথবা false return করে।
const fruits = new Map();
fruits.set("apples", 500);
fruits.set("bananas", 504);
console.log(fruits.has("apples"));
console.log(fruits.has("orange"));
Output:
true
false
JavaScript Map-এর delete() Method
delete() method ব্যবহার করে Map থেকে কোনো key এবং তার value remove করা যায়।
const fruits = new Map();
fruits.set("apples", 500);
fruits.set("bananas", 504);
fruits.set("mangoes", 100);
fruits.delete("apples");
console.log(fruits);
এখন apples Map-এর মধ্যে থাকবে না।
JavaScript Map-এর clear() Method
clear() method ব্যবহার করলে Map-এর সব key-value pair remove হয়ে যায়।
const fruits = new Map();
fruits.set("apples", 500);
fruits.set("bananas", 504);
fruits.set("mangoes", 100);
fruits.clear();
console.log(fruits);
Output:
Map(0) {}
JavaScript Map-এর size Property
size property দিয়ে Map-এর মধ্যে মোট কতটি entry আছে তা জানা যায়।
const fruits = new Map();
fruits.set("apples", 500);
fruits.set("bananas", 504);
fruits.set("mangoes", 100);
console.log(fruits.size);
Output:
3
JavaScript Map-এর keys() Method
keys() method Map-এর সব key-এর একটি iterator return করে।
const fruits = new Map();
fruits.set("apples", 500);
fruits.set("bananas", 504);
fruits.set("mangoes", 100);
for (const key of fruits.keys()) {
console.log(key);
}
Output:
apples
bananas
mangoes
JavaScript Map-এর values() Method
values() method Map-এর সব value-এর একটি iterator return করে।
const fruits = new Map();
fruits.set("apples", 500);
fruits.set("bananas", 504);
fruits.set("mangoes", 100);
for (const value of fruits.values()) {
console.log(value);
}
Output:
500
504
100
JavaScript Map-এর entries() Method
entries() method Map-এর key এবং value একসাথে [key, value] pair হিসেবে return করে।
const fruits = new Map();
fruits.set("apples", 500);
fruits.set("bananas", 504);
fruits.set("mangoes", 100);
for (const entry of fruits.entries()) {
console.log(entry);
}
Output:
["apples", 500]
["bananas", 504]
["mangoes", 100]
Key এবং Value আলাদা করে নেওয়া
for (const [key, value] of fruits.entries()) {
console.log(key, value);
}
Output:
apples 500
bananas 504
mangoes 100
Map-এর forEach() Method
forEach() method ব্যবহার করে Map-এর প্রতিটি key-value pair-এর উপর একই ধরনের কাজ করা যায়।
const fruits = new Map();
fruits.set("apples", 500);
fruits.set("bananas", 504);
fruits.set("mangoes", 100);
fruits.forEach(function(value, key) {
console.log(key + " = " + value);
});
Output:
apples = 500
bananas = 504
mangoes = 100
Info!
Map-এর forEach() callback-এ প্রথম parameter হলো value এবং দ্বিতীয় parameter হলো key।
Map-এর for...of Loop
for...of loop ব্যবহার করেও Map-এর key এবং value একসাথে পাওয়া যায়।
const fruits = new Map();
fruits.set("apples", 500);
fruits.set("bananas", 504);
fruits.set("mangoes", 100);
for (const [key, value] of fruits) {
console.log(key + " = " + value);
}
Output:
apples = 500
bananas = 504
mangoes = 100
Map-এর entries() এবং for...of
Map-এর default iterator entries()-এর মতো key-value pair return করে। তাই নিচের দুটি code একই ধরনের result দেয়।
for (const [key, value] of fruits) {
console.log(key, value);
}
for (const [key, value] of fruits.entries()) {
console.log(key, value);
}
Map-এ বিভিন্ন ধরনের Key ব্যবহার
Map-এর একটি গুরুত্বপূর্ণ সুবিধা হলো key হিসেবে বিভিন্ন ধরনের value ব্যবহার করা যায়।
const myMap = new Map();
myMap.set("name", "Rahim");
myMap.set(100, "One Hundred");
const obj = {id: 1};
myMap.set(obj, "User Object");
console.log(myMap.get("name"));
console.log(myMap.get(100));
console.log(myMap.get(obj));
Map এবং Object-এর পার্থক্য
| বিষয় | Map | Object |
|---|---|---|
| Data Structure | Key-Value Pair | Property-Value |
| Key | বিভিন্ন ধরনের value | মূলত String/Symbol |
| Size | size property আছে |
সরাসরি size নেই |
| Iteration | সহজে iterate করা যায় | আলাদা methods প্রয়োজন হতে পারে |
| Methods | set(), get(), has(), delete() |
Built-in Map methods নেই |
JavaScript Map শেখার গুরুত্বপূর্ণ Methods
| Method / Property | কাজ |
|---|---|
set() |
Key এবং value যোগ বা update করে |
get() |
Key দিয়ে value বের করে |
has() |
Key আছে কি না check করে |
delete() |
একটি entry remove করে |
clear() |
সব entry remove করে |
keys() |
সব key-এর iterator দেয় |
values() |
সব value-এর iterator দেয় |
entries() |
Key এবং value-এর pair দেয় |
forEach() |
প্রতিটি entry-এর উপর function চালায় |
size |
মোট entry সংখ্যা দেখায় |
JavaScript Map সম্পূর্ণ Example
const fruits = new Map();
fruits.set("apples", 500);
fruits.set("bananas", 504);
fruits.set("mangoes", 100);
console.log(fruits.get("apples"));
console.log(fruits.has("bananas"));
console.log(fruits.size);
for (const [key, value] of fruits) {
console.log(key + " = " + value);
}
fruits.delete("mangoes");
console.log(fruits);
Map শেখার ধাপ
new Map()দিয়ে Map তৈরি করা শিখুন।set()দিয়ে key-value যোগ করা শিখুন।get()দিয়ে value বের করা শিখুন।has()দিয়ে key check করা শিখুন।delete()দিয়ে entry remove করা শিখুন।clear()এবংsizeব্যবহার করুন।keys(),values()এবংentries()practice করুন।forEach()এবংfor...ofদিয়ে Map iterate করুন।
Warning!
Map-এর key এবং value-এর syntax ঠিকভাবে লিখুন। set(), get(), has() ইত্যাদি JavaScript-এ case-sensitive।
set(), get(), has(), delete(), keys(), values() এবং entries() বুঝলে Map-এর basic অংশ ভালোভাবে আয়ত্ত করতে পারবেন।
get() সাধারণত undefined return করে। তাই প্রয়োজন অনুযায়ী has() দিয়ে key আগে check করা যেতে পারে।
উপসংহার
JavaScript Map key-value data সংরক্ষণ এবং পরিচালনার জন্য একটি গুরুত্বপূর্ণ data structure। set(), get(), has(), delete(), clear(), keys(), values(), entries() এবং forEach() হলো Map-এর গুরুত্বপূর্ণ methods ও properties। নিয়মিত ছোট ছোট example practice করলে JavaScript Map খুব সহজেই আয়ত্ত করা সম্ভব।