Map[Symbol.iterator]()

The Map[Symbol.iterator]() method in JavaScript returns an iterator object that yields key-value pairs from a Map object in insertion order. This method is the default iterator for Map, meaning a Map can be iterated using a for...of loop.

Syntax

</>
Copy
map[Symbol.iterator]()

Parameters

This method does not accept any parameters.

Return Value

The Map[Symbol.iterator]() method returns an iterator object that produces an array of [key, value] pairs from the Map in insertion order.


Examples

1. Iterating Over a Map Using for...of

The Symbol.iterator method allows a Map to be iterated using a for...of loop, returning key-value pairs.

</>
Copy
const map = new Map([
    ['name', 'Arjun'],
    ['age', 25],
    ['city', 'New York']
]);

for (const entry of map) {
    console.log(entry);
}

Output

["name", "Arjun"]
["age", 25]
["city", "New York"]

Each iteration returns an array containing a key-value pair from the Map.

2. Using next() to Manually Iterate

You can manually extract key-value pairs using the iterator’s next() method.

</>
Copy
const map = new Map([
    ['x', 10],
    ['y', 20]
]);

const iterator = map[Symbol.iterator]();

console.log(iterator.next().value);
console.log(iterator.next().value);
console.log(iterator.next().done);

Output

["x", 10]
["y", 20]
true

The done property of the iterator becomes true once all elements have been iterated.

3. Spreading a Map Into an Array

The Map[Symbol.iterator]() method allows a Map to be spread into an array.

</>
Copy
const map = new Map([
    ['a', 1],
    ['b', 2]
]);

const array = [...map];
console.log(array);

Output

[["a", 1], ["b", 2]]

The spread operator [...map] expands the Map into an array of key-value pairs.