首页 > 编程语言 > 详细

数组去重

时间:2021-01-28 22:03:20      阅读:27      评论:0      收藏:0      [点我收藏+]

<> ES6中Set方法
??该方法是效率更高,代码简单,思路清晰,缺点是可能会存在兼容性问题。

function clearRepeat(arr) {
            //ES6中还对Array新增了一个静态方法Array.from(),可以把Set集合转化成数组形式。
            //ES6中新增的扩展运算符,可以强制Set集合类型转换成数组。
            return [...new Set(arr)];
        }
        let array = clearRepeat([1, 2, 3, 4,3, 2, 1]);
        console.log(array);

<> 利用对象的属性不能相同的特点进行去重
??该方法优点是效率较高,缺点是占用了较多空间,使用了的额外空间查询对象和一个新的数组。

var arr = [0,1,2,3,4,3, 2, 1];
            function fun(arr) {
                var newBrr = [];
                var obj = {};
                for (var i = 0; i < arr.length; i++) {
                    if (!obj[arr[i]]) {
                        obj[arr[i]] = ‘abc‘;
                        newBrr.push(arr[i]);
                    }
                }
              return newBrr
            }
          var newArr=fun(arr);
            console.log(‘newArr‘, newArr);

<> 利用过滤器filter和indexOf方法
??该方法是可以在去重的时候插入对元素的操作,可拓展性强,但是去重时所耗的时间要比前面2种方法要长。

 var brr = [0, 0, 1, 2, 3, 4, 5, 5];
        function fun(arr) {
            return arr.filter((num, index) => {
                return arr.indexOf(num) === index;
            });
        }
        console.log(fun(brr));

数组去重

原文:https://www.cnblogs.com/sfzxf/p/14341930.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!