js数组去重

2019-07-01  本文已影响0人  好名字都让你们用了

主要介绍两种目前我认为比较简单的去重方法,封装了两个函数.

学习es6 发现有更简单的方法,更新一下。

第一种

// 1:对需要去重的数组循环遍历
        // 2:创建一个空的数组
        // 3;判断新创建的数组中是否有遍历的数据
        // 没有的话 将数据push进这个数组中
        function num(arr) {
            var sum = [];
            for (i = 0; i < arr.length; i++) {
                if (sum.indexOf(arr[i]) == -1) {
                    sum.push(arr[i]);
                }
            }
            return sum;

        }
        var arry = [1, 3, 4, 545, 65, 65, 4, 5, 35, 545, 4, 545, 45, 46, 443, "a", "d", "a", "d"];
        console.log(num(arry));

第二种

// 首先对数组进行从小到大排序,把相邻相同的删除一个
        function num1(arr1) {
          //创建一个空的数组来接受筛选后的数据
            var sum2=[];
            // 给数组进行排序(使用的是sort()的数组排序的方法)
            var sum1 = arr1.sort();
            for(var i=0;i<sum1.length;i++){
                if(sum1[i]!=sum1[i+1]){
                    sum2.push(sum1[i])
                }
            }
            return sum2;
        }
        var arry = [1, 3, 4, 545, 65, 65, 4, 5, 35, 545, 4, 545, 45, 46, 443, "a", "d", "a", "d"];
        console.log(num1(arry))

es6(IE目前不支持)

var arr=[2,5,4,8,7,6,9,3,2,1,7,5,5];
//set  自动去重
var set=new Set(arr);
//sort是数组的排序方法
var arr1=[...set].sort();
console.log(arr1)//[[1, 2, 3, 4, 5, 6, 7, 8, 9]
上一篇 下一篇

猜你喜欢

热点阅读