通过es6的Array.from和set来实现
var arr=[1,2,2,1,2,5,7,3,5,6,5];
function upset1_arr(arr){
var obj=new Set(arr);
var new_arr=Array.from(obj);
return new_arr;
}
通过es6的…来实现
function upset1_arr(arr){
return [...new Set([arr])];
}
新建一个数组,遍历老数组,通过indexof方法来判断心数组是否添加老数组的值
function upset2_arr(arr){
var new_arr=[];
for (var i = 0; i < arr.length; i++) {
if(new_arr.indexOf(arr[i])==-1){
new_arr.push(arr[i]);
}
}
return new_arr;
}
先对数组就行排序,然后再前后两两比较
function upset3_arr(arr){
var new_arr=[];
arr.sort();
for (var i = 0; i < arr.length; i++) {
if(arr[i]!=arr[i+1]){
new_arr.push(arr[i]);
}
}
return new_arr;
}
新建一个对象,通过对象的健值对来筛选数组
function upset4_arr(arr){
var new_arr=[],obj={};
for (var i = 0; i < arr.length; i++) {
if(!obj[arr[i]]){
obj[arr[i]]=true;
new_arr.push(arr[i]);
}
}
return new_arr;
}