map-map - Vaadin Add-on Directory
[Node.js] Applies a callback to each key-value pair of a Map or Object.# map-map
Applies a callback to each key-value pair of a Map, Object, or other collection. The original collection is not modified; a copy is returned.
## Installation
Requires [Node.js](https://nodejs.org/) 7.0.0 or above.
```bash
npm i map-map
```
## API
The module exports a single function.
### Parameters
1. Bindable: `map` (Array, iterator, Object, Map, Set, string, or Typed Array)
2. `mapper` (function): The callback which receives three arguments (key, value, and index) and which returns a two-element array containing the new key and value.
3. Optional: `options`: Object argument which is forwarded to [`entries-array`](https://github.com/lamansky/entries-array), a dependency of this module.
### Return Value
A copy of `map` which has had `mapper` applied to each of its key-value pairs.
## Example
```javascript
const mapMap = require('map-map')
let map = new Map([['key', 'value']])
map = mapMap(map, (key, value, index) => [key + '_mapped', value + '_mapped'])
map.get('key_mapped') // 'value_mapped'
```
Works on Objects too:
```javascript
const mapMap = require('map-map')
let obj = {key: 'value'}
obj = mapMap(obj, (key, value, index) => [key + '_mapped', value + '_mapped'])
obj.key_mapped // 'value_mapped'
```
View on NPMView on GitHub
map-map version 1.0.0
### Dependencies
map-map version 2.0.0
### Dependencies
map-map version 3.0.0
### Dependencies
* m-o#^2.1.1
map-map version 3.1.0
### Dependencies
* construct-map#^1.2.0
* entries-array#^1.1.0
* sbo#^1.1.0