美文网首页让前端飞
数组去重古与今

数组去重古与今

作者: a333661d6d6e | 来源:发表于2018-11-04 14:35 被阅读6次

关于数组去重这个问题,但其实我觉得这只是一件很小的事,何必弄得好像实现的方法越复杂就越厉害一样。废话不多说,这里我只介绍我所认可的两种方法。

第一种,就是很普通的思维,比如,对于[1,2,2,3,3,3,4,4,4,4]这个数组来说,我们的思路就是,新建一个空的数组,然后对这个要处理的数组做遍历,遍历的每一项都会问一下新数组:“你有没有存过我啊?”,存过(新数组.indexOf(i)>0),那么就不再存了;没存过(新数组.indexOf(i)==-1),就存进去。所以就有了如下代码:

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

        })(arr);
        //欢迎加入全栈开发交流群一起学习交流:864305860
        console.log(newArr);

在这里,我用一个自执行的匿名函数对数组做了个遍历,由于newArr是一个全局变量,在执行后不会被销毁,而是返回出去,最后打印的结果正是[1,2,3,4];

这是es5最朴实无华的写法,可以说是一种“古代的写法”吧,es6中有一种结构叫set,它天生就自带互异性,就是说肯定不会有重复的,看一段代码就知道了。

var s=new Set(arr);//结果为Set{1,2,3,4}
         var newArr=Array.from(s);//把这个类数组对象转为真正的数组
        console.log(newArr);

最后,祝大家早日学有所成,拿到满意offer,快速升职加薪,走上人生巅峰。

相关文章

  • 数组去重古与今

    关于数组去重这个问题,但其实我觉得这只是一件很小的事,何必弄得好像实现的方法越复杂就越厉害一样。废话不多说,这里我...

  • 数组去重 ‘古’与‘今’

    第一种,就是很普通的思维,比如,对于[1,2,2,3,3,3,4,4,4,4]这个数组来说,我们的思路就是,新建一...

  • Array集结号

    实现数组去重的几种方法 数组去重一 数组去重二 利用数组indexof+push实现数组去重 数组去重三 利用对象...

  • 数组对象去重的常见操作

    前言: 数组对象去重与数组去重的不同点在于,数组对象需要指定一个属性(key值)再进行去重。 1.数组对象的自定义...

  • 2018-05-09数组去重函数

    数组去重 双循环去重 indexOf方法去重1 indexOf方法去重2 相邻元素去重 利用对象属性去重 set与...

  • js数组分组和去重

    分组 去重 笔试中经常出现的js数组排序与去重算法

  • 实现数组去重有哪些方式

    简单的数组去重 数组对象去重

  • 浅析数组翻转与数组去重

    世界上很多的困难,只是思维上设限。 数组翻转 数组翻转有很多方法,这里总结俩种: 原生方法 reverse 使用循...

  • 数组去重的四种方法

    利用双for循环去重 利用对象数组去重 利用对象数组去重并且记录重复次数 通过创建一个新数组进行数组去重

  • js数组去重、对象数组去重

    普通数组去重 一、普通数组去重 方法一:遍历数组法 方法二:排序法 方法三:对象法 对象数组去重 方法一:将对象数...

网友评论

    本文标题:数组去重古与今

    本文链接:https://www.haomeiwen.com/subject/tadlxqtx.html