(1)
Array.prototype.unique1 = function() {
varr =
newArray();
label:for(vari
= 0, n = this.length; i < n; i++) {
for(varx = 0, y = r.length;
x < y; x++) {
if(r[x] ==this[i])
{
continuelabel;
}
}
r[r.length] =this[i];
}
returnr;
};
(2)
Array.prototype.unique2 =function
() {
returnthis.sort().join(",,").replace(/(,|^)([^,]+)(,,\2)+(,|$)/g,"$1$2$4").replace(/,,+/g,",").replace(/,$/,"").split(",");
};
(3)
Array.prototype.unique3 =function() {
vartemp = {}, len =
this.length;
for(vari=0; i < len; i++)
{
vartmp =
this[i];
if(!temp.hasOwnProperty(tmp)) {
temp[this[i]] ="my god";
}
}
len = 0;
vartempArr=[];
for(vari
intemp) {
tempArr[len++] = i;
}
returntempArr;
}
(4)
Array.prototype.unique4 =function
() {
vartemp =
newArray();
this.sort();
for(var i = 0; i <this.length;
i++) {
if(this[i] ==this[i+1])
{
continue;
}
temp[temp.length]=this[i];
}
returntemp;
};
(5)
Array.prototype.unique5 =function() {
varres = [], hash = {};
for(vari=0, elem; (elem =
this[i]) !=null; i++) {
if(!hash[elem])
{
res.push(elem);
hash[elem] =true;
}
}
returnres;
}