Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • JavaScript Documentation48টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Introduction
  • JavaScript কী?
  • Syntax & Comments
  • Variables
  • Data Types: Basics
  • Data Types: Conversion
  • Data Types: Advanced
  • Strings
  • Numbers & Math
  • Date & Time
  • Operators
  • Conditions
  • Loops
  • Functions: Basics
  • Functions: Intermediate
  • Functions: Advanced
  • Scope & Hoisting
  • Closures & this
  • ES6+ Modern
  • Arrays: Basics
  • Arrays: Intermediate
  • Arrays: Advanced
  • Objects: Basics
  • Objects: Intermediate
  • Objects: Advanced
  • Class: Basics
  • Class: Intermediate
  • Class: Advanced
  • DOM: Basics
  • DOM: Intermediate
  • DOM: Advanced
  • Events: Basics
  • Events: Intermediate
  • Events: Advanced
  • Async JavaScript
  • Promise
  • Async / Await
  • Fetch API
  • JSON
  • Modules
  • Browser Storage
  • Event Loop Deep
  • Prototype Chain
  • Iterators & Generators
  • WeakMap, WeakSet, Proxy
  • Error Handling
  • Practice Problems
  • Mini Projects
  • Basics
  • Functions & Scope
  • Types & Syntax
  • Arrays & Objects
  • Advanced
  • Functional Programming
  • Objects & Symbols
  • Async Deep Dive
  • Modern JavaScript
  1. Docs
  2. JavaScript
  3. প্রশ্ন/উত্তর
  4. Modern JavaScript
  5. Q48. What are Map and Set, and how are they different from objects and arrays?
JavaScriptModern JavaScript

Q48. What are Map and Set, and how are they different from objects and arrays?

key-value collection ও unique value collection — object ও array-র চেয়ে সুবিধা কোথায়।

Map হলো key-value pair রাখার collection, যেখানে key যেকোনো ধরনের হতে পারে। আর Set হলো এমন collection যেখানে unique মানই থাকে — ডুপ্লিকেট স্বয়ংক্রিয়ভাবে বাদ পড়ে। দুটোই ES6-এ এসেছে এবং object ও array-র চেয়ে অনেক বেশি সুবিধাজনক।

object বনাম Mapjavascript
javascript
// object-এ সমস্যা
const store = {};
store["1"] = "এক";
store["true"] = "সত্য";

console.log(store[1]);   // "এক" — key সংখ্যা হয়ে গেল
console.log(store["1"]); // "এক"
console.log(Object.keys(store)); // ["1", "true"] — ক্রম নিশ্চিত নয়

// Map-এ key আসল থাকে
const map = new Map();
map.set(1, "এক");
map.set(true, "সত্য");

console.log(map.get(1));   // "এক"
console.log(map.get(true)); // "সত্য"

ধাপে ধাপে — object-এ key সবসময় string বা symbol-এ ঢালতে হয়, তাই সংখ্যা 1 আর string "1" এক হয়ে যায়। Map-এ key-এর আসল ধরন বজায় থাকে, তাই 1 আর true পৃথক key হিসেবে থাকে।

বিভিন্ন ধরনের keyjavascript
javascript
// Map-এ যেকোনো ধরনের key দেওয়া যায়
const users = new Map();

const user = { name: "Rahim" };

users.set(user, { role: "admin" });   // object key
users.set("name", "Rahim");
users.set(10, "দশ");
users.set(Symbol("id"), 5);

console.log(users.size); // 4
console.log(users.get(user).role); // "admin"
Map APIjavascript
javascript
// সব method
const map = new Map([
  ["a", 1],
  ["b", 2],
]);

map.set("c", 3);

console.log(map.get("a"));        // 1
console.log(map.has("a"));        // true
console.log(map.size);             // 3

map.delete("a");
console.log(map.size);             // 2

map.clear();
console.log(map.size);             // 0
iterationjavascript
javascript
// for...of দিয়ে ঘোরা — key-value জোড়া পাওয়া যায়
const map = new Map([
  ["a", 1],
  ["b", 2],
]);

for (const [key, value] of map) {
  console.log(key, value); // "a" 1, তারপর "b" 2
}

// entry ধরনে
for (const entry of map) {
  console.log(entry[0], entry[1]);
}

// শুধু key বা value
for (const key of map.keys()) console.log(key);
for (const value of map.values()) console.log(value);
Setjavascript
javascript
// Set — unique value রাখে
const set = new Set([1, 2, 3, 2, 1]);

console.log(set.size); // 3 — ডুপ্লিকেট বাদ

set.add(4);
console.log(set.has(2)); // true

set.delete(2);
console.log([...set]);   // [1, 3, 4]
duplicate সরানোjavascript
javascript
// Set-এর সবচেয়ে বড় ব্যবহার — duplicate সরানো
const numbers = [1, 2, 2, 3, 3, 3, 4];

const unique = [...new Set(numbers)];
console.log(unique); // [1, 2, 3, 4]

// object-এর key unique রাখা
const uniqueIds = new Set([1, 2, 3, 2]);
console.log(uniqueIds.size); // 3
Set বনাম arrayjavascript
javascript
// Set বনাম Array — কখন কোনটি
const list = ["a", "a", "b"];          // ডুপ্লিকেট রাখতে চাইলে
const set = new Set(["a", "a", "b"]);  // unique রাখতে চাইলে

console.log(list.length); // 3 — ডুপ্লিকেট সহ
console.log(set.size);     // 2 — unique
বিষয়MapobjectSetarray
ধরনkey-valuekey-valueunique valuelist
keyযেকোনো ধরনশুধু string/symbolkey থাকে নাindex
আকার.sizeObject.keys().length.size.length
iterationfor...offor...infor...offor...of
ক্রমinsertionঅনির্দিষ্টinsertionindex
মনে রাখুন

key গুরুত্বপূর্ণ হলে বা যেকোনো ধরনের key দরকার হলে Map ব্যবহার করুন, আর duplicate বাদ দিতে Set। সাধারণ তালিকা বা শুধু { id, name } ধরনের নির্দিষ্ট গঠন হলে object ও array-ই যথেষ্ট এবং সবার সাথে সহজে কাজ করে।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
Modern JavaScript বিভাগের আরও প্রশ্নJavaScript প্রশ্ন/উত্তর
Tech Tutor

বাংলায় ওয়েব ডেভেলপমেন্ট ডকুমেন্টেশন শিখুন — ধাপে ধাপে।

Homeসব ডকুমেন্টেশনQuick Startআমার নোটস

© 2026 Tech Tutor. বাংলায় শিখুন, বাংলায় গড়ুন।

mdanamolhasan1998@gmail.com