(1)
Array.prototype.unique1 =
function
() {
var
r =
new
Array();
label:
for
(
var
i = 0, n =
this
.length; i < n; i++) {
for
(
var
x = 0, y = r.length; x < y; x++) {
if
(r[x] ==
this
[i]) {
continue
label;
}
}
r[r.length] =
this
[i];
}
return
r;
};
(2)
Array.prototype.unique2 =
function
() {
return
this
.sort().join(
",,"
).replace(/(,|^)([^,]+)(,,\2)+(,|$)/g,
"$1$2$4"
).replace(/,,+/g,
","
).replace(/,$/,
""
).split(
","
);
};
(3)
Array.prototype.unique3 =
function
() {
var
temp = {}, len =
this
.length;
for
(
var
i=0; i < len; i++) {
var
tmp =
this
[i];
if
(!temp.hasOwnProperty(tmp)) {
temp[
this
[i]] =
"my god"
;
}
}
len = 0;
var
tempArr=[];
for
(
var
i
in
temp) {
tempArr[len++] = i;
}
return
tempArr;
}
(4)
Array.prototype.unique4 =
function
() {
var
temp =
new
Array();
this
.sort();
for
(var i = 0; i <
this
.length; i++) {
if
(
this
[i] ==
this
[i+1]) {
continue
;
}
temp[temp.length]=
this
[i];
}
return
temp;
};
(5)
Array.prototype.unique5 =
function
() {
var
res = [], hash = {};
for
(
var
i=0, elem; (elem =
this
[i]) !=
null
; i++) {
if
(!hash[elem])
{
res.push(elem);
hash[elem] =
true
;
}
}
return
res;
}