I\'ve searched quite a while for a Collections API (list, set) for JS and surprisingly I could only this: http://www.coffeeblack.org/work/jscollections/
This is exactly
jQuery's primary focus is the DOM. It doesn't and shouldn't try and be all things to all people, so it doesn't have much in the way of collections support.
For maps and sets, I'd like to shamelessly point you in the direction of my own implementations of these: http://code.google.com/p/jshashtable/
Regarding lists, Array
provides much of what you need. Like most methods you might want for arrays, you can knock together a contains()
method in a few lines (most of which are to deal with IE <= 8's lack of support for the indexOf()
method):
Array.prototype.contains = Array.prototype.indexOf ?
function(val) {
return this.indexOf(val) > -1;
} :
function(val) {
var i = this.length;
while (i--) {
if (this[i] === val) {
return true;
}
}
return false;
};
["a", "b", "c"].contains("a"); // true