数组去重

点点圈 提交于 2019-12-01 17:07:18

方法一:

  新建一个数组,用indexOf()判断新数组里面是否有当前内容,没有的话添加到新数组中

var arr=[2,2,3,4,4,5];
var newArr=[];
for(var i=0;i<arr.length;i++){
    if(newArr.indexOf(arr[i])==-1){
        newArr.push(arr[i])
    }   
}
console.log(newArr);//(4) [2, 3, 4, 5] 

方法二:

  for循环俩次之后进行判断它们的值是否相等,相等进行splice删除

var arr3=[2,4,4,5,6];
for(var i=0;i<arr3.length;i++){
    for(var j=i+1;j<arr3.length;j++){
        if(arr3[i]==arr3[j]){
            arr3.splice(i,1);
            i--;
        }
    }
}
console.log(arr3);//(4) [2, 4, 5, 6]

方法三:

  和第二种类似,for循环1次,然后判断它们的值是否相等,相等进行splice删除

var arr2=[4,4,5,6,6,2];
for(var i=0;i<arr2.length;i++){
    if(arr2[i]==arr2[i+1]){
        arr2.splice(i,1);
        i--
    }
}
console.log(arr2);//(4) [4, 5, 6, 2]

ES6数组去重的方法

1.  Array.from(new Set(arr))
2.  […new Set(arr)]

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!