JS数组去重的方法
双层for循环去重
function unique(arr){
for(var i = 0; i<arr.length;i++){
for(var j = i+1; j<arr.length;j++){
if(arr[i] ==arr[j]){
arr.splice(j,1);
j--;
}
}
}
return arr;
}
利用indexOf()去重
function unique(arr){
if(!Array.isArray(arr)){
return;
}
var array = [];//声明一个新数组
for(var i = 0; i<arr.length;i++){
if(array.indexOf(arr[i]) == -1){ //判断新数组中是否存在arr[i],没有就push
array.push(arr[i]);
}
}
return array;
}
利用Array.from和set去重
var arr = [4,3,3,9,12,19,11,9,3,11,12];
var arr1 = Array.from(new Set(arr));
console.log(arr1.sort((a,b)=>a-b)); //对数组进行排序
//输出[3,4,9,11,12,19]