数组较好的两种去重方法
对于整数,都能较好的去重
1.利用对象的属性名的唯一性
// var Arr = [1,2,1,1,1,2,4,3,5,3,5,3];
var Arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN','NaN', 0, 0, 'a', 'a',{
},{
}];
// 1.利用对象的属性名的唯一性
function uniqueArr(arr){
var newArr=[];
var temp = {
};
var len =arr.length;
for(let i =0;i<len;i++){
if(!temp[arr[i]]){
temp[arr[i]] ='true';
newArr.push(arr[i]);
}
}
return newArr;
}
分不清字符串的xxx和 “xxx”
2.利用ES6新特性 Set
// var Arr = [1,2,1,1,1,2,4,3,5,3,5,3];
var Arr = [1,1,'true','true',true,true,15,15,false,false, undefined,undefined, null,null, NaN, NaN,'NaN','NaN', 0, 0, 'a', 'a',{
},{
}];
var result = uniqueArr(Arr);
console.log(result);
// 分不清字符串的xxx和 "xxx"
// 2.利用ES6新特性 Set
function distinct(arr){
return Array.from(new Set(arr));
}
var result2 = distinct(Arr);
console.log(result2);
分不清空对象{}