当前位置:网站首页>ES6数组去重的三个简单办法
ES6数组去重的三个简单办法
2022-07-01 18:36:00 【全栈程序员站长】
大家好,又见面了,我是你们的朋友全栈君。
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.cn/130837.html原文链接:https://javaforall.cn
边栏推荐
猜你喜欢
Lumiprobe非荧光炔烃丨EU(5-乙炔基尿苷)
用GSConv+Slim Neck改进Yolov5,将性能提升到极致!
Mise en place d'une plate - forme générale de surveillance et d'alarme, quelles sont les conceptions nécessaires dans l'architecture?
Principal component calculation weight
Evaluation of 6 red, yellow and black list cameras: who is the safest? Who has good picture quality? From now on, let you no longer step on thunder
Leetcode-128 longest continuous sequence
Li Kou daily question - Day 32 -589 N × Preorder traversal of tree
How to find customers for investment attraction in industrial parks
Halcon图片标定,使得后续图片处理过后变成与模板图片一样
LeetCode-21合并两个有序链表
随机推荐
Go Technology Daily (2022-02-14) - go language slice interview real questions 8 consecutive questions
Go语言自学系列 | go语言数据类型
Leetcode-128 最长连续序列
Weekly recommended short videos: be alert to the confusion between "phenomena" and "problems"
Leetcode-160 intersecting linked list
每周推荐短视频:警惕“现象”与“问题”相互混淆
Is Alipay wallet convenient to use?
实现一个Prometheus exporter
主成分计算权重
A database editing gadget that can edit SQLite database. SQLite database replaces fields. SQL replaces all values of a field in the database
2. Create your own NFT collections and publish a Web3 application to show them start and run your local environment
C operator overloads the query table
How to operate technology related we media well?
R语言使用epiDisplay包的tableStack函数制作统计汇总表格(基于目标变量分组的描述性统计、假设检验等)、不设置by参数则计算数据框指定数据列范围的基础描述性统计信息
Relational database management system of easyclick
关于企业中台规划和 IT 架构微服务转型
[today in history] February 15: Pascal's father was born; YouTube was founded; Kotlin language comes out
字节跳动数据平台技术揭秘:基于 ClickHouse 的复杂查询实现与优化
Li Kou daily question - Day 32 -1232 Dotted line
Leetcode-160相交链表