首页 > 编程语言 > 详细

JavaScript中数组去重的多种方式

时间:2020-04-05 17:21:54      阅读:56      评论:0      收藏:0      [点我收藏+]

1.使用ES6语法
  a.最简洁的方法:使用set

const arr = [5,5,3,4,6,5,8,6];
console.log(Array.from(new Set(arr))) // [4,5,3,6,8]
console.log([...new Set(arr)]) // [4,5,3,6,8]

  b. reduce + includes

const a = arr.reduce((pre,cur) => 
    pre.includes(cur) ? pre : [...pre,cur],[]);
console.log(a)

  c.利用filter去重

const b = arr.filter((item,index,arr) => arr.indexOf(item,0) === index)
console.log(b)

  d.利用hasOwnProperty + filter去重

function duplicate(arr){
            var obj = {};
            return arr.filter(function(item,index,arr){
                return obj.hasOwnProperty(typeof item + item) ? 
                                    false :(obj[typeof item + item] = true)
            })
        }
console.log(duplicate(arr))

 2.排序 + 正则

let array = [1,2,2,3,1,4,5,6,4];
       array.sort((a,b)=>a-b);
       array = array.join(‘@‘)+‘@‘;
       let reg = /(\d+@)\1*/g;
       let arr = [];
       array.replace(reg,($,$1)=>{
            arr.push(parseFloat($1));
       })
console.log(arr)

  

 3.持续更新中。。。

JavaScript中数组去重的多种方式

原文:https://www.cnblogs.com/endoraLiu/p/12637762.html

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