//排序后相鄰去除法 arr=[1,2,5,1,3,7,9,5]; function unique(arr){ arr.sort(); var _arr=[arr[0]];//結果數組 for(var i=0;i<arr.length;i++){ if(arr[i]!=_arr[_arr.length-1]){ _arr.push(arr[i]); } } return _arr; } unique(arr);
//遍歷數組法 if(Array.prototype.indexOf===-1){ Array.prototype.indexOf=function(value,fromi){ fromi===undefined&&(fromi=0); for(var i=fromi;i<this.length;i++){ if(this[i]=value){ return true; }else{ return -1; } } } } arr=[1,2,5,1,3,7,9,5] function unique(arr){ var _arr=[];//新建臨時數組 for(var i=0;i<arr.length;i++){ if(_arr.indexOf(arr[i])==-1){//如果arr的第i已經保存進了_arr,那么跳過, //否則把當前項push到臨時數組里面(沒有在_arr中出現過(-1)) _arr.push(arr[i]); } } return _arr; } console.log(String(unique(arr)));
*先解決ie8的兼容問題