# Map
A Map object holds key-value pairs, where any value (both objects and primitive values) may be used as either a key or a value. Insertion order is remembered, which allows iteration in that order.
### set(key, value) function
Add or update an entry in the Map with the specified key and value.
**key**: The key of the element to add or update.
**value**: The value associated with the key.
**Returns**: The Map object (for chaining).
### get(key) function
Return the value associated with the specified key, or undefined if no
such key exists.
**key**: The key of the element to retrieve.
**Returns**: The value associated with the key, or undefined if not found.
### has(key) function
Return a boolean indicating whether the Map contains an element with the
specified key.
**key**: The key to test for presence in the Map.
**Returns**: True if the key is found, otherwise false.
### delete(key) function
Remove the specified key and its associated value from the Map, if it exists.
**key**: The key to remove.
**Returns**: True if an element was removed, otherwise false.
### clear() function
Remove all entries from the Map, leaving it empty.
**Returns**: None
### size accessor
(read only)
A read-only property returning the number of key-value pairs in the Map.
**Returns**: The number of entries in the Map.
### forEach(callbackFn, thisArg) function
Execute a provided callback function once per each key-value pair in the Map,
in insertion order.
**callbackFn**: A function(value, key, map) to execute on each entry.
**thisArg**: Optional. A value to use as 'this' when executing callbackFn.
**Returns**: None
### values() function
Return a new Iterator object that contains the values for each element
in the Map, in insertion order.
**Returns**: An iterator of the Map's values.
### keys() function
Return a new Iterator object that contains the keys for each element in
the Map, in insertion order.
**Returns**: An iterator of the Map's keys.
### entries() function
Return a new Iterator object that contains the [key, value] pairs for
each element in the Map, in insertion order.
**Returns**: An iterator of [key, value] pairs.