Subset
Subset provides basic and generalized set operations for JavaScript.
They are inspired by a subset of the interface to Haskell's Data.List, but optimized for JavaScript semantics and performance.
Usage
Attach it to the short variable of choice:
var $ = require('subset');
and fire up the set engine:
$.union([1,3,5], [4,5,6]);
$.unionBy($.equality('a'), [{a:1},{a:3}], [{a:2},{a:3}]);
$.intersect([1,2,3,4], [2,4,6,8]);
$.nub([1,3,2,4,1,2]);
$.group([1,2,2,3,5,5,2]);
$.insert([1,2,3,4], 3);
$.delete([1,2,3,2,3], 2);
var nested = [[1,3,2], [2], [2,3]];
$.maximumBy($.comparing('length'), nested);
nested.sort($.comparing('length'));
[2, 100, 10, 4].sort();
[2, 100, 10, 4].sort($.compare());
Read the full API.
Note that it is often useful to get it with the larger utility library:
interlude for which it was made.
Installation
$ npm install subset
Running tests
Install development dependencies
$ npm install
Run the tests
$ npm test
License
MIT-Licensed. See LICENSE file for details.