//js 数组去重
Array.prototype.uniq = function(){
//若长度只有1,直接返回当前拷贝
if(this.length <= 1){
return this.slice(0);
}
var aResult = [];
for(var i=0,l=this.length; i<l; i++){
if(!_fExist(aResult,this[i])){
aResult.push(this[i]);
}
}
return aResult;
//判断是否重复
function _fExist(aTmp,o){
if(aTmp.length === 0){return false;}
var tmp;
for(var i=0,l=aTmp.length; i<l; i++){
tmp = aTmp[i];
if(tmp === o){
return true;
}
//单独处理NaN这种情况
if(!o && !tmp && tmp !== undefined && o!== undefined && isNaN(tmp) && isNaN(o)){
return true;
}
}
return false;
}
}
var a = [1,2,31,1];
console.log(a.uniq());