1,Array.prototype.unique1=function(){
var n=[];
for(var i=0;i<this.length;i++){//遍历原始数组
//indexOf()查找第一次出现的位置,也可以查找多个,没找到就返回-1.
if(n.indexOf(this[i])==-1){//临时数组里查找原始数组的this[i],如果找不到就push 进去;
n.push(this[i]);
}
}
return n;
}
2.Array.prototype.unique2=function(){//最快的方法
var n={},r=[]; //n 哈希表; r临时数组;
for(var i=0;i<this.length;i++){//遍历原始数组
if(!n[this[i]]){
n[this[i]]=true;
r.push(this[i]);
}
}
return n;
}
3.Array.prototype.unique3=function(){
var n=[this[0]];//结果数组
for(var i=1;i<this.length;i++){//遍历原始数组,从第二项开始
if(this.indexOf(this[i])==i){//原始数组中第一次出现的元素, 就push进临时数组n
n.push(this[i]);
}
}
return n;
}
4..Array.prototype.unique4=function(){
this.sort();//先排序
var re=[this[o]];
for(var i=1;i<this.length;i++){//遍历原始数组,从第二项开始
if(this[i]!==re[re.length-1]){
re.push(this[i]);
}
}
return re;
}