1.新建数组法
思路:新建一个数组,存放去重结果
遍历数组,如果结果数组中不存在,则放入
function a(arry){
var b=[];
for(i=0;i<arry.length;i++){
if(b.indexOf(arry[i])==-1){
b.push(arry[i])
}
}
return b;
}
var aa = [1,2,2,4,9,6,7,5,2,3,5,6,5];
console.log(a(aa));
2. 对象键值法
function a(array){
var result=[];
var obj={};
for(var i=0;i<array.length;i++){
if(!obj[array[i]]){
obj[array[i]]=1;
result.push(array[i]);}
}
return result;
}
3.es6的set
function a(arry){
var b=new Set(arry);
//传入的数组通过new set()转化为set数据格式,此时就已经把重复值给去掉了。
//但此时数据结构不为set
return Array.from(b);//将set数据格式转换成数组
}console.log(a([1,1,1,2,3,4,4,4]));