前端的数组去重

2018-06-29  本文已影响26人  汪槑槑2017

1. 思路:先定义一个“新数组”,并存放“源数组”(待去重的数组,以下简称源数组)的第一个元素,然后将源数组和新数组的元素一一对比,若不同则存放在新数组中。这也是大家都容易理解的

        function unique1 (arr) {

            // 结果数据

            var res = [arr[0]];

            for(var i = 1; i < arr.length; i++) {

                var flag = false;

                for(var j = 0; j < res.length;j++) {

                    if(arrt[i] == res[j]) {

                        flag = true;

                        break;

                    }

                }

                if(!flag) {

                    res.push(arr[i]);

                }

            }

            return res;

        }

2.相比1写的少点(直接撸的,有问题留言)

function unique2 (arr) {

    var res = [];

    for(var i = 0; i < arr.length; i++) {

       if( res.indexOf(arr[i]) == -1 ) {

            res.push(arr[i]);

        }   
    }

    return res;

}

3.不会ES6的前端不是好前端

function unique3 (arr) {          

  return [...new Set(arr)];  

   // return  return Array.from(new Set(arr));      

好生猛,一行代码的事


上一篇 下一篇

猜你喜欢

热点阅读