方法一:
function unique(a){ var res=[]; for(var i= 0,len= a.length;i<len;i++){ var item=a[i]; (res.indexOf(item)===-1)&&res.push(item); } return res; } var a=[1,1,3,3,2,4,5,5,5,]; var ans=unique(a); alert(ans);
方法二:
function unique(a){ var res= a.filter(function(item,index,array){ return array.indexOf(item)===index; }) return res; }
方法三:
function unique(a){ var res=[]; for(var i= 0,len= a.length;i<len;i++){ for(var j=i+1;j<len;j++){ if(a[i]===a[j]){ j=++i; } } res.push(a[i]); } return res; }方法四:
function unique(a){ return a.concat().sort().filter(function(item,pos,array){ return !pos||item!=array[pos-1]; }) }方法五:
function unique(a){ var seen={}; return a.filter(function(item){ return seen.hasOwnProperty(item)?false:(seen[item]=true); }) }方法六:
function unique(a){ var ret=[]; var hash={}; for(var i= 0,len= a.length;i<len;i++){ var item=a[i]; var key=typeof (item)+item; if(hash[key]!==1){ ret.push(item); hash[key]=1; } } return ret; }