JS数组去重方法
一、使用for循环
function deRepeat(arr){
var newArr=[];
for(var i=0;i<arr.length;i++){
if(newArr.indexOf(arr[i])==-1){//如果新的数组中没有这个值,就将其添加到新的数组中
newArr.push(arr[i]);
}
}
return newArr;
}
二、使用forEach方法
function deRepeat(arr){
var newArr = [];
arr.forEach(function(e,index,arr){
if(arr.indexOf(e)==index){//如果该值是第一次出现,则将其添加到新的数组中
newArr.push(e);
}
})
return newArr;
}
三、使用filter方法
function deRepeat(arr){
var newArr = arr.filter(function(e,index,arr){
return arr.indexOf(e)==index;
})
return newArr;
}
四、先将数组进行排序,再对比
function deRepeat(arr){
var newArr=[];
var temp;
arr.sort();
newArr.push(arr[0]);
for(var i=1; i<arr.length;i++){
if(arr[i]!=temp){
newArr.push(arr[i]);
temp= arr[i];
}
}
return newArr;
}
五、set数据结构和from方法
function deRepeat(arr) {
return Array.from(new Set(array));
}
六、使用sort方法
给.sort()添加一个函数参数
var array=[2,5,1,9,56,109];
array.sort(function(a,b){
return num1-num2;
});

浙公网安备 33010602011771号