当前位置:网站首页>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
边栏推荐
- code
- Mise en place d'une plate - forme générale de surveillance et d'alarme, quelles sont les conceptions nécessaires dans l'architecture?
- How does factor analysis calculate weights?
- 磁盘的基本知识和基本命令
- 如何运营好技术相关的自媒体?
- R语言ggplot2可视化:gganimate创建动态柱状图动画(gif)、在动画中沿给定维度逐步显示柱状图、enter_grow函数和enter_fade函数控制运动内插退出(渐变tweening)
- [noip2015] jumping stone
- 记一次 .NET 差旅管理后台 CPU 爆高分析
- Leetcode-160相交链表
- Image acquisition and playback of coaxpress high speed camera based on pxie interface
猜你喜欢

Vidéos courtes recommandées chaque semaine: méfiez - vous de la confusion entre « phénomène » et « problème »

2、《创建您自己的NFT集合并发布一个Web3应用程序来展示它们》启动并运行您的本地环境

NSI packaging script add file details

斯坦福、Salesforce|MaskViT:蒙面视觉预训练用于视频预测

Leetcode-160相交链表

每周推荐短视频:警惕“现象”与“问题”相互混淆

实现一个Prometheus exporter

Lumiprobe non fluorescent alkyne EU (5-ethynyluridine)

About enterprise middle office planning and it architecture microservice transformation

Memo - about C # generating barcode for goods
随机推荐
R language ggplot2 visualization: visualize the line graph and add customized Y-axis label information to the line graph using the labels function
毕业总结
11、用户、组和权限(1)
如何运营好技术相关的自媒体?
解决方案:可以ping别人,但是别人不能ping我
code
Salesmartly has some tricks for Facebook chat!
Popular science: what does it mean to enter the kernel state?
A wonderful time to buy and sell stocks
Leetcode-128 longest continuous sequence
Unity learning fourth week
华为云专家详解GaussDB(for MySQL)新特性
R语言ggplot2可视化:gganimate创建动态柱状图动画(gif)、在动画中沿给定维度逐步显示柱状图、enter_grow函数和enter_fade函数控制运动内插退出(渐变tweening)
12种数据量纲化处理方式
数据库基础:select基本查询语句
Navicat Premium 15 永久破解和2021版本最新IDEA破解(亲测有效)
Mysql database of easyclick
[today in history] February 15: Pascal's father was born; YouTube was founded; Kotlin language comes out
[source code analysis] model parallel distributed training Megatron (5) -- pipestream flush
Leetcode-141 circular linked list