ECMAScript6 数组去重

作者: Nian糕 | 来源:发表于2018-01-02 20:54 被阅读365次
    Unsplash

    数组去重这个问题无论是在面试当中,还是实际项目中,出现的频率都挺多的,而我们以往的解决方式,就是通过新建一个空的数组,通过 indexOf 方法进行新数组和原数组的子元素比较,来得到一个没有重复子元素的新数组

    function unique(Arr){
        var arr = [];
        for(var i = 0; i < Arr.length; i++) {
           if(arr.indexOf(Arr[i])==-1) {
               arr.push(Arr[i]);
           }
        }
        return arr;
     }
    
    运行结果

    一共 9 行代码,也不是很多,但在 ES6 中,新增的 Set() 对象和 Array.from() 方法,可以让我们通过两行代码,就能实现数组去重

    Set 对象允许你存储任何类型的唯一值,而 Set 中的值总是唯一的,所以会判断两个值是否相等,Set 返回的是对象,我们还需要通过 Array.from() 方法,在一个类数组或可迭代对象中,创建一个新的数组实例

    var arr = [1,1,2,3,4,6,7,6];
    var Arr = Array.from(new Set(arr));
    
    运行结果
    End of File

    行文过程中出现错误或不妥之处在所难免,希望大家能够给予指正,以免误导更多人,最后,如果你觉得我的文章写的还不错,希望能够点一下喜欢关注,为了我能早日成为简书优秀作者献上一发助攻吧,谢谢!^ ^

    相关文章

      网友评论

        本文标题:ECMAScript6 数组去重

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