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}