javascript数组去重有如下 方法:
一) 利用 数组中的 indexOf判断
例如:
Array.prototype.unique=function(){ var n=[]; for(var i=0;i<this.length;i++){ if(n.indexOf(this[i])==-1){ n.push(this[i]); } } return n; } var array=[3,5,6,7,6,4,3,8,9]; array.unique();
二 ) 利用 hash表 ,把已经出现过的通过下标的形式 存在 Object内中
Array.prototype.unique=function(){ var arr=[],n={}; for(var i=0;i<this.length;i++){ if(!n[this[i]]){ n[this[i]]=true; //存入hash表 arr.push(this[i]); } } return arr; }
三) 先把数组用sort排序 ,然后比较相邻的值
Array.prototype.unique=function(){ var n=[]; this.sort(); for(var i=0;i<this.length;i++){ if(this[i]!=this[i+1]){ n.push(this[i]); } } return n; } var array=[5,33,6,7,33,22,8,1,5]; var arr=array.unique(); console.log(arr);