Skip to content
< 500 byte library for HashMaps in JavaScript
HTML JavaScript
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Store hash Sep 16, 2015
.gitignore Initial commit Sep 14, 2015
LICENSE Create LICENSE Jan 29, 2016
README.md Fix hashing function and use FAR less memory Sep 15, 2015
index.html Fix hashing function and use FAR less memory Sep 15, 2015
package.json Make the hash function smaller, and bump version Sep 16, 2015
test.js Store hash Sep 16, 2015

README.md

HashMap.js

< 500 byte library for HashMaps in JavaScript

Download

Development Version Production Version

About

HashMap.js is a library which adds HashMaps to JavaScript. While some modern browsers support Maps, this library supports all browsers back to even IE8!

This library also works well with the Stream.js library.

Examples

Setting a value using a complex object as a key:

var statuses = new HashMap();
var user = {names: ['Paul',' PaulBGD'], logged_in: true};
statuses.put(user, 'online');

console.log('Paul\'s Status: ' + statuses.get(user));
// => Paul's Status: online

Getting a value, or adding a default one:

console.log('Paul\'s Status: ' + statuses.getOrCompute(user, function (user) {
    return database.getStatus(user);
}));
// => Paul's Status: online

Using the Stream.js library to get all online usernames:

new Stream(status.toArray())
    .filter(function (entry) { return entry.value == 'online' })
    .map(function (entry) { return entry.key.username })
    .forEach(function (username) {
        console.log(username + ' is online!');
    });

Functions

new HashMap() => HashMap

Creates a new HashMap.

HashMap.prototype.get(key:Object) => Object

Returns the value associated with the key

HashMap.prototype.put(key:Object, value:Object) => Object

Sets a value associated with the key, returns the previous value if it was set.

HashMap.prototype.remove(key:Object) => Object

Removes an entry from the specified key, returns the entry removed if it exists.

HashMap.prototype.toArray() => Array

An array containing all of the entries.

HashMap.prototype.size => Number

Returns the size of this HashMap

You can’t perform that action at this time.