50 lines
1.4 KiB
Markdown
50 lines
1.4 KiB
Markdown
# Map Or Similar
|
|
Returns a JavaScript Map() or a similar object with the same interface, if Map is not available.
|
|
Focuses on performance.
|
|
No dependencies.
|
|
Made for the browser and nodejs.
|
|
|
|
## Install
|
|
```javascript
|
|
npm install map-or-similar --save
|
|
```
|
|
|
|
## Use
|
|
```javascript
|
|
var MapOrSimilar = require('map-or-similar');
|
|
|
|
// make a new map or similar object
|
|
var myMap = new MapOrSimilar();
|
|
|
|
// use it like a map
|
|
myMap.set('key1', 'value1');
|
|
myMap.set({ val: 'complex object as key' }, 'value2');
|
|
```
|
|
|
|
The following methods and properties are supported identically to Map():
|
|
|
|
```Slim
|
|
set(key, val) : Sets a value to a key. Key can be a complex object, array, etc.
|
|
get(key) : Returns the value of a key.
|
|
has(key) : Returns true if the key exists, otherwise false.
|
|
delete(key) : Deletes a key and its value.
|
|
forEach(callback) : Invokes callback(val, key, object) once for each key-value pair in insertion order.
|
|
size : Returns the number of keys-value pairs.
|
|
```
|
|
|
|
Does not support other Map methods or properties.
|
|
|
|
## Test
|
|
```javascript
|
|
npm run test
|
|
```
|
|
|
|
## License
|
|
|
|
Released under an MIT license.
|
|
|
|
### Other Libs
|
|
|
|
- [Memoizerific](https://github.com/thinkloop/memoizerific): Fastest, smallest, most-efficient JavaScript memoization lib to memoize JS functions.
|
|
- [Multi Key Cache](https://github.com/thinkloop/multi-key-cache): A JavaScript (JS) cache that can have multiple complex values as keys.
|