stringmap.js
A fast and robust stringmap implementation that can hold any string keys,
including __proto__
, with minimal overhead compared to a plain object.
Works in node and browsers.
The API is created to be as close to the ES6 Map API as possible. Prefer
sm.remove("key")
for deleting a key. ES6 Map uses map.delete("key")
instead and for that reason sm['delete']("key")
is available as a
stringmap alias as well. Never do sm.delete("key")
unless you're
certain to be in the land of ES5 or later.
Examples
Available in examples.js
var StringMap = ; var sm1 = ;sm1;sm1;sm1;console; // trueconsole; // -1sm1;console; // [ 'check', '__proto__' ]console; // [ true, -1 ]console; // [ [ 'check', true ], [ '__proto__', -1 ] ]console; // {"check":true,"__proto__":-1} var sm2 = one: 1 two: 2;console; // [ 1, 4 ]sm2;console; // falseconsole; // 2 var sm3 = sm1;sm3;sm3;console; // {"check":true,"one":1,"two":2,"a":{},"b":[],"__proto__":-1}
Installation
Node
Install using npm
npm install stringmap
var StringMap = ;
Browser
Clone the repo and include it in a script tag
git clone https://github.com/olov/stringmap.git