您的位置:首页 > Web前端 > JavaScript

js数组去重的方法总结

2017-10-17 16:31 309 查看
1.使用ES6的Set方法,注意返回的是一个对象,不是数组

function uniqueArray(arr){
var arrNew=new Set(arr);
return arrNew;
}

2.使用Es6的Array.from()方法
function uniqueArray2(arr){
var arrNew=Array.from(new Set(arr));
return arrNew;
}

3.声明一个新数组,遍历原数组
 function uniqueArray(arr){
var arrNew=[];
for(var i=0;i<arr.length;i++){
if(arrNew.indexOf(arr[i])==-1){
arrNew.push(arr[i]);
}
}
return arrNew;
}
4.先将原数组进行排序,在进行遍历

   function uniqueArray4(arr){
arr.sort();
var arrNew=[arr[0]];
for(var i=0;i<arr.length;i++){
if(arr[i]!=arrNew[arrNew.length-1]){
arrNew.push(arr[i]);
}
}
return arrNew;
}

5.创建一个空对象和一个空数组,把原数组的值保存在对象的key中

function uniqueArray5(arr){
var arrNew=[];
var arrOb={};
for(var i=0;i<arr.length;i++){
if(!arrOb[arr[i]]){
arrNew.push(arr[i]);
arrOb[arr[i]]=1;
}
}
return arrNew;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: