js最高效的数组去重方法

var arr=[1,2,33,2,4,5,33,5,7,8,1,3];
   var result=[];
   var temp={};
   for( var i=0;i<arr.length;i++){
   if(!temp[arr[i]]){
     result.push(arr[i]);
     temp[arr[i]]=1;
   }
}

console.log(result);  // [1, 2, 33, 4, 5, 7, 8, 3]

 

 

用原型封装一个数组去重的方法

Array.prototype.unique=function(){
var temp={};
var arr1=[];
var len=this.length;
for(var i=0;i<len;i++){
if(!temp[this[i]]){
temp[this[i]]='abc'; //等于任意一个为真的字符串就行,
arr1.push(this[i])
}
}
return arr1;

}

 

 使用es6 Set语法对数组去重

let arr=[1,2,3,45,6,2,3,1,2];
let res=new Set(arr);
arr=Array.from(res) //数组去重

console.log(arr) //{1, 2, 3, 45, 6} 

 

posted @ 2019-04-17 13:59  菜鸟程序员的总结  阅读(987)  评论(0编辑  收藏  举报