Ich denke schon. Für alle Arrays:
Array.prototype.unique = function(){
for (var v, o={}, a=[], n=this.length, i=0; i<n; i++) {
v = this[i];
(v in o) || (o[v] = !a.push(v));}
return a;
};
Schöne Funktion!
Aber if ist in manchen Browsern schneller (in anderen sind beide Varianten identisch) und vielleicht für manche, die das lesen, verständlicher:
~~~javascript
Array.prototype.unique_if = function(){
var o = {}, a = [], n = this.length;
for(var i = 0; i < n; i++) {
var v = this[i];
if(!o[v]) o[v] = a.push(v);
}
return a;
};
Struppi.