0.0.6 • Published 10 years ago

hashset v0.0.6

Weekly downloads
797
License
MIT
Repository
github
Last release
10 years ago

HasSet

A simple hash set in JavaScript

build status

Create a new HashSet

var HashSet = require('hashset');

//Create an empty hash set
var hashset = new HashSet();

//Create a hash set an initialize it with a value 'a'
var hashset = new HashSet('a');

//Create a hash set an initialize it with a set of values
var hashset = new HashSet('a', 'b', 'c');

//Create a hash set an initialize it with 3 different values
var hashset = new HashSet(1, '1', [1]);

Properties

length

Get the length of the hash set

hashset.length;

Methods

equals

Test whether current hash set equals to another

var hashset1 = new HashSet(1, 2, 3, 4, 5);
var hashset2 = new HashSet(1, 2, 3, 4, 5);
var result = hashset1.equals(hashset2); //true

contains

Check whether a value is in the hash set

hashset.contains(val);

add

Add a new value into the hash set

hashset.add(val);

remove

Remove a value from the hash set

hashset.remove(val);

Removing an non-existing value will not trigger any error

toArray

Convert and output all values into an array

var hashset = new HashSet(1, 2, 3);
hashset.toArray();  // [1, 2, 3]

There is no gurantee the values of the output array the same sequence as value added to the hash set.

isSubSetOf

Test whether a hash set is a sub set of another. Empty hash set is a sub set of any other hash set including another empty hash set.

var hashset1 = new HashSet();
var hashset2 = new HashSet();
var result = hashset1.isSubSetOf(hashset2);

isSuperSetOf

Test whether a hash set is a super set of another. Any hash set is a super set of empty hahs set including an empty hash set.

var hashset1 = new HashSet(1, 2, 3);
var hashset2 = new HashSet(1, 2, 3);
var hashset3 = new HashSet();
var result1 = hashset1.isSuperSetOf(hashset2); //true
var result2 = hashset2.isSuperSetOf(hashset1); //true
var result3 = hashset1.isSuperSetOf(hashset3); //true
var result3 = hashset3.isSuperSetOf(hashset1); //false

unionWith

Union current hash set with another

var hashset1 = new HashSet(1, 2);
var hashset2 = new HashSet(2, 3);
hashset1.unionWith(hashset2);
hashset1.contains(1); //true
hashset1.contains(2); //true
hashset1.contains(3); //true

intersectWith

Intersect current hash set with another

var hashset1 = new HashSet(1, 2, 3);
var hashset2 = new HashSet(2, 3, 4);
hashset1.intersectWith(hashset2);
hashset1.length; //2
hashset1.contains(2); //true
hashset1.contains(3); //true
hashset1.contains(4); //false

Test

Make sure mocha is installed globally

npm install mocha -g

Run npm test to run unit test

Dependencies

License

MIT

0.0.6

10 years ago

0.0.5

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago

0.0.0

10 years ago