Creating and Using Maps
Maps can be created in several ways and offer intuitive methods for managing key-value pairs.
Creating Maps
Section titled “Creating Maps”| Method | Description | Example |
|---|---|---|
| Empty Map | Create with no entries | new Map() |
| From iterable | Pass array of [key, value] pairs | new Map([['a',1], ['b',2]]) |
| From another Map | Clone existing Map | new Map(existingMap) |
Basic Usage Pattern
Section titled “Basic Usage Pattern”// Createconst map = new Map();
// Set valuesmap.set(key, value);
// Get valuesconst value = map.get(key);
// Check existenceconst exists = map.has(key);
// Deletemap.delete(key);
// Clear allmap.clear();Key Points
Section titled “Key Points”set()returns the Map object (allows chaining).get()returnsundefinedif key doesn’t exist.has()returns boolean for key existence.delete()returnstrueif key existed and was deleted.clear()removes all entries.
Example Code
Section titled “Example Code”// Different ways to create Maps
// 1. Empty Mapconst emptyMap = new Map();console.log(emptyMap.size); // 0
// 2. From array of pairsconst userMap = new Map([ ["name", "Alice"], ["age", 30], ["city", "Paris"],]);console.log(userMap.size); // 3
// 3. From another Map (cloning)const cloneMap = new Map(userMap);console.log(cloneMap.get("name")); // 'Alice'
// 4. From generatorfunction* entries() { yield ["x", 10]; yield ["y", 20]; yield ["z", 30];}const genMap = new Map(entries());console.log(genMap.get("y")); // 20
// Chaining set() callsconst chainMap = new Map().set("first", 1).set("second", 2).set("third", 3);
console.log(chainMap.size); // 3
// Using get() with non-existent keyconsole.log(chainMap.get("nonexistent")); // undefined
// Checking existence before accessif (chainMap.has("first")) { console.log(chainMap.get("first")); // 1}
// Deleting entriesconst inventory = new Map([ ["apples", 10], ["bananas", 5], ["oranges", 8],]);
console.log(inventory.delete("apples")); // trueconsole.log(inventory.delete("grapes")); // falseconsole.log(inventory.size); // 2
// Clearing all entriesinventory.clear();console.log(inventory.size); // 0
// Practical: Caching with Mapfunction createCache() { const cache = new Map();
return { get(key) { return cache.get(key); }, set(key, value) { cache.set(key, value); console.log(`Cached: ${key}`); return value; }, has(key) { return cache.has(key); }, delete(key) { return cache.delete(key); }, clear() { cache.clear(); }, size() { return cache.size; }, };}
const cache = createCache();cache.set("user:1", { name: "Alice" });cache.set("user:2", { name: "Bob" });console.log(cache.get("user:1")); // { name: 'Alice' }console.log(cache.has("user:2")); // trueconsole.log(cache.size()); // 2