ArrayList Javascript

Em muitos projetos Javascript, senti a necessidade de usar um ArrayList (como em Java ou outras linguagens). No entanto, o objeto Array Javascript carece de alguns métodos de conveniência:

Array.prototype.remove = function(el){
var index = this.indexOf(el);
if(index != -1) {
this.splice(index, 1);
}
}

Array.prototype.add = function(el){
if(this.indexOf(el) == -1){
this.push(el);
}
}

Array.prototype.contains = function(el){
return this.indexOf(el) != -1;
}

Array.prototype.toggle = function(el){
if(this.indexOf(el) == -1){
this.add(el);
} else this.remove(el);
}

Espero que isso seja tão útil para alguém quanto foi para mim.