前端的数组去重

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));      

好生猛,一行代码的事


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 2,049评论 0 2
  • 北京2018年4月1日上午,NBA常规赛勇士客战国王的比赛中,发生了令人痛心不已的一幕。比赛进行到第三节还有41...
    Curry_宇阅读 1,243评论 1 1
  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,195评论 0 13
  • 一层继承一层。装饰模式是为已有功能动态地添加更多功能的一种方式。关键词是添加更多功能。 当系统需要新功能时,是向旧...
    愿成有心人阅读 260评论 0 0
  • 深夜了,陈浩然仍然在大街上闲逛。阴雨绵绵,湿冷湿冷,没打雨伞的他不禁在心里鸟了一句: “莫非我过了一个假的春天?这...
    遇见阿锋阅读 686评论 6 13