ES6数组去重的三个简单办法

ES6数组去重的三个简单办法ES6数组去重的三个简单办法简单说一下利用ES6实现数组去重的三个办法。第一种:利用Map对象和数组的filter方法贴上相关代码打印后的结果通过打印我们发现,确实实现了我们想要的效果。那么下面简单来解释一下。1.Map对象是ES6提供的一个新的数据结构,其中has的办法是返回一个布尔值,表示某个值是否存在当前的Mp对象之中,set的办法是给Map对象设置key/value。2…

大家好,又见面了,我是你们的朋友全栈君。

ES6数组去重的三个简单办法

简单说一下利用ES6实现数组去重的三个办法。
第一种: 利用Map对象和数组的filter方法

贴上相关代码
在这里插入图片描述
打印后的结果
在这里插入图片描述
通过打印我们发现,确实实现了我们想要的效果。那么下面简单来解释一下。
1.Map对象是ES6提供的一个新的数据结构,其中has的办法是返回一个布尔值,表示某个值是否存在当前的Mp对象之中,set的办法是给Map对象设置key/value。
2.filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
所以说,Map对象结合filter方法可以达到数组去重的效果~

第二种:利用Set对象和数组的Array.from方法

同样贴上相关代码片段
在这里插入图片描述
打印运行后的结果
在这里插入图片描述
简单来说,第二种方法比第一种还简单。同样来简单解释一下。
1.Set是ES6新提供的数据结构,类似于数组,但是本身没有重复值。
2.Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括 ES6 新增的数据结构 Set 和 Map)。
所以set结合Array.from同样可以达到数组去重的效果。不过需要注意的是,主流浏览器像Chrome,Firfox,Opera,Safari,包括微软的Edge,都是支持的,但是唯独IE系列不支持。

第三种:利用Set+扩展运算符 …

第三种办法可以说是更简单
贴上相关代码
在这里插入图片描述
打印后运行的结果
在这里插入图片描述

这就是利用ES6新特性达到数组去重的三种办法,这三种办法有个共同的好处就是代码简洁,对于undefined和NaN也同样可以达到去重的效果~~
如果你有其他办法也欢迎一起分享一下~
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/130837.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • navicat连接sqlserver2019失败

    navicat连接sqlserver2019失败今天连接sqlserver2019失败,但是发现MicrosoftSQLServerManagementStudio18可以正常连接当然了sqlserverip与其他数据库不一样ip,端口localhost,1433控制面板,程序修复sqlserverclient然后删除sqlserver原来的配置文件夹然后新建连接,成功连接sqlserver…

    2022年8月30日
    3
  • 基于Multisim的函数信号发生器–方波、三角波、正弦波[通俗易懂]

    设计要求-基本要求设计制作一个方波-三角波-正弦波信号发生器,供电电源为±12V。(1)输出频率能在1-10KHZ范围内连续可调;(2)方波输出电压Uopp=12V(误差<20%),上升、下降沿小于10us;(3)三角波信号输出电压Uopp=8V(误差<20%);(4)正弦波信号输出电压Uopp≥1V,无明显失真。-提高要求(1)将输出方波改为占空比可调的矩形波,占空比可调范围30%–70%;(2)三种波形的输出峰峰值Uopp均在1~10V范围内连续可调。设计思路-电

    2022年4月15日
    104
  • pycharm导出依赖包_pycharm快速倒包

    pycharm导出依赖包_pycharm快速倒包一般你在pycharm本身库里面导入一个外部没有的包这个时候pycharm里面就会报错,所以你要先下载好你想要导入的包,步骤如下:

    2022年8月29日
    2
  • (RegionProposal Network)RPN网络结构及详解[通俗易懂]

    (RegionProposal Network)RPN网络结构及详解[通俗易懂]RPN(RegionProposalNetwork)区域生成网络Faster-RCNN的核心。在这里整理。1.anchors。特征可以看做一个尺度51*39的256通道图像,对于该图像的每一个位置,考虑9个可能的候选窗口:三种面积{128,256,512}×{128,256,512}×三种比例{1:1,1:2,2:1}{1:1,1:2,2:1}。这些候选窗口称为anchors…

    2022年6月23日
    114
  • IMDb Top 250佳片榜_吹哨人 电影

    IMDb Top 250佳片榜_吹哨人 电影互联网电影资料库(英语:InternetMovieDatabase,简称IMDb)是一个关于电影演员、电影、电视节目、电视艺人、电子游戏和电影制作小组的在线数据库。IMDb开办于1990年10月17日,从1998年开始成为亚马逊公司旗下的网站,在2010年10月17日时,IMDb庆祝了他们20周年的纪念。用户评分最高的250部电影进入Top250榜单,但并非简单地根据平均分值来排名,而…

    2022年9月23日
    2
  • 13 RangeValidator

    13 RangeValidatorRangeValidator的属性有:MinimumValue:范围的最小值;MaximumValue:范围的最大值。Type:为数据类型,包括String,Intege,Double,Date,CurrencyRangeValidator,CompareValidator,RegularExpressValidator都不会对非空值进行校验,所…

    2022年7月12日
    22

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号