R
Rishtaara
JavaScript Fundamentals
Lesson 12 of 28Article14 min

Sets & Maps

A Set stores each value once. Duplicates are ignored. Good for unique tags, visited pages, or deduplication.

Sets — unique values only

A Set stores each value once. Duplicates are ignored. Good for unique tags, visited pages, or deduplication.

Real-life example: A Set is a guest list where each name appears only once — no duplicate entries.

Set basics
const tags = new Set(["js", "html", "js", "css"]);
console.log(tags.size); // 3 — duplicate "js" dropped
tags.add("react");
tags.has("html"); // true

Set operations

add, delete, has, clear, and for...of loop over a Set.

Real-life example: add — write a new name on the list. delete — cross one name off.

Working with Set
const ids = new Set([1, 2, 3]);
ids.delete(2);
for (const id of ids) {
  console.log(id);
}

Maps — key-value with any key

Map is like an object but keys can be any type — objects, numbers, strings. Keeps insertion order.

Real-life example: A Map is a locker room — locker number (key) can be string or number, each holds one bag (value).

Map basics
const scores = new Map();
scores.set("Asha", 95);
scores.set("Ravi", 88);
console.log(scores.get("Asha")); // 95
console.log(scores.size);        // 2

Map vs plain object

Use Map when keys are unknown or not strings, or when you need size and frequent add/delete. Plain {} is fine for fixed JSON-like data.

Real-life example: Object = fixed form with name, age fields. Map = dynamic sticky notes you add anytime.

Convert array to unique list: [...new Set(myArray)] — very common one-liner.
Map with object key
const user = { id: 1 };
const cache = new Map();
cache.set(user, { lastLogin: "2026-07-24" });
console.log(cache.get(user));