Javascript Map Object

Javascript Map Object

A Map is a built in object that holds key-value pairs. It can hold a key of any data type unlike in plain objects. It maintains the insertion order and provides helpers to manage key-value pairs.

Creating a Map

Creates an empty Map instance.

const map = new Map()

Initializing a Map

You can initialize a Map with an array of key-value pairs.

const map = new Map([
  ['id', 1], // key: 'id', value: 1
  ['name', 'Alice'], // key: 'name', value: 'Alice'
])

Map Size

size property returns the number of key-value pairs in a map. It returns a number.

map.size // 2

Map Set

The set(key, value) method adds a key-value pair. If a key exists already, the value will be updated. set() affects the size of a map.

map.set('age', 50) // sets new key 'age' with value 50
map.set(2, 200) // sets new key 2 with value 200
map.set('id', 2) // id key already exists, so value of id will be updated to 2

// Check size
map.size // 4

You can also chain set like map.set(key, value).set(key, value)

Map Get

The get(key) retrieves the value of the specified key. If a key exists, its value will be returned otherwise undefined.

map.get('age') // 50
map.get('none') // undefined as key 'none' do not exist

Map Has

The has(key) returns a boolean by checking the key existence.

map.has('id') // true
map.has('none') // false

Map Delete

The delete(key) method removes the key-value pair with the specified key. It returns true if the key exists, otherwise false. delete() affects the size of a map.

map.delete('age') // true as key 'age' exists
map.delete('none') // false as key 'none' do not exist

// Check size
map.size //  3

Map Clear

The clear method removes all key-value pairs from the map. clear affects the size of a map.

map.clear()

// Check size
map.size // 0

Iterate Map using for … of

You can directly iterate using for ... of over each key-value pair.

const map = new Map()
map.set('name', 'Bob').set('age', 20)
for (const [key, value] of map) {
  console.log(`${key}: ${value}`)
}

// name: Bob
// age: 20

Iterate Map using keys()

You can iterate over the map keys using keys() method as in the order it was inserted.

const map = new Map()
map.set('name', 'Bob').set('age', 20)
for (const key of map.keys()) {
  console.log(`${key}`)
}

// name
// age

Iterate Map using values()

You can iterate over the map values using values() method as in the order it was inserted.

const map = new Map()
map.set('name', 'Bob').set('age', 20)
for (const key of map.values()) {
  console.log(`${key}`)
}

// Bob
// 20

Iterate Map using entries()

You can iterate over the map’s key-value pair using entries() method as in the order it was inserted.

const map = new Map()
map.set('name', 'Bob').set('age', 20)
for (let [key, value] of map.entries()) {
  console.log(`${key}: ${value}`)
}

// name: Bob
// age: 20