javascript集合的使用 new Set()使用
集合的本质是一个对象,然后他可以转化成数组,身上的一些方法可以快速帮我们解决一些问题
let aggregate = new Set()console.log(aggregate);// 打印结果:Set(0) {size: 0}let aggregate2 = new Set([1,2,3,2])//可传入一个数组,并且会自动去除重复的项console.log(aggregate2,'aggregate2');// 打印结果:Set(3) {1, 2, 3} 'aggregate2'aggregate2.add(4);//新增元素console.log(aggregate2,'添加后');// 打印结果:Set(4) {1, 2, 3, 4} '添加后'aggregate2.delete(1);//删除元素console.log(aggregate2,'删除后');// 打印结果:Set(3) {2, 3, 4} '删除后'let result = aggregate2.has(3);//检测是否存在元素console.log(result,'检测结果');// 打印结果:true '检测结果'aggregate2.clear();//删除元素console.log(aggregate2,'清除后');// 打印结果:Set(0) {size: 0} '清除后'
用法实践:
// 实践let arr = ['路飞','索隆','娜美','乌索普','索隆']let arr2 = ['山贼王','海军王','海贼王','近海之王','路飞','海军王']// 数组去重:let res =[...new Set(arr)]//使用...扩展运算符再在外面包一个数组括号就能转化为数组了,并且是已经去重的数组console.log(res,'数组去重后');// 打印结果:['路飞', '索隆', '娜美', '乌索普'] '数组去重后'// 求两个数组的交集let jiaoji = [...new Set(arr)].filter(item=>new Set(arr2).has(item) );// 首先数组去重,当然不去重也行,然后过滤数组,将数组的每一项传入arr2用其身上自带的has方法检测是否包含当前项,存在就返回true,然后fitter再返回当前的符合项console.log(jiaoji,'交集');// 打印结果:['路飞'] '交集'// 求两个数组的并集let bingji = [...new Set([...arr,...arr2])]// 首先将两个数组用扩展运算符拼接,然后得包一个数组括号,因为得传入一个数组,然后去重,再然后把他扩展数组括号包起来变成数组就行了console.log(bingji,'并集');// 打印结果: ['路飞', '索隆', '娜美', '乌索普', '山贼王', '海军王', '海贼王', '近海之王'] '并集'
javascript集合的使用 new Set()使用相关推荐
- 不要解决:如何将JavaScript集合与目标相匹配
by Joe Morgan 乔·摩根(Joe Morgan) 不要解决:如何将JavaScript集合与目标相匹配 (Don't settle: how you can match your Java ...
- 在JavaScript中逐个遍历数组?
如何使用JavaScript遍历数组中的所有条目? 我以为是这样的: forEach(instance in theArray) 其中theArray是我的数组,但这似乎是不正确的. #1楼 如果您不 ...
- Javascript – 正则表达式
目录 1. 正则表达式 1.1 创建 1.2 RegExp 对象属性 1.3 RegExp 对象方法 1.4 RegExp 分组 2. 元字符和正则表达式规则 1正则表达式 正则表达式本身就是一种语言 ...
- 《JavaScript权威指南第7版》第11章 JavaScript标准库
第11章 JavaScript标准库 11.1 Set和Map 11.1.1 Set类 11.1.2 Map类 11.1.3 WeakMap和WeakSet 11.2 类型数组和二进制数据 11.2. ...
- 2016 年 50 个最佳的轻量级 JavaScript 框架和库一
2016 年 50 个最佳的轻量级 JavaScript 框架和库 IT程序狮 · 1 天前 回顾今年已发布的 JS 框架和库,我们针对地筛选了一些能够提供直接和具体功能的免费 JavaScript ...
- JavaScript权威指南 第11章JavaScript标准库
JavaScript权威指南 第11章JavaScript标准库 第11章 JavaScript标准库 11.1 集合与映射 11.1.1 Set类 11.1.2 Map类 11.1.3 WeakMa ...
- golang go语言_在Go语言中无需反思即可使用Lodash的好处
golang go语言 by Tal Kol 通过塔尔科尔 在Go语言中无需反思即可使用Lodash的好处 (The benefits of using Lodash in the Go langua ...
- 【翻译】Ext JS——高效的编码风格指南
原文:ExtJS - Efficient coding style guide 作者:Raja 切勿使用"new"关键字:在Ext JS中,使用"new"关键字 ...
- 四十种 智能合约 支持平台
目录 1. 以太坊( Ethereum ) 2. Quorum 3. Wanchain 4. æternity 5. Zen 6. Counterparty 7. Rootstock (RSK) 8. ...
最新文章
- Xcode快捷键及代码块
- Google搜索的常用技巧
- 在拦截器中获取请求参数,[Ljava.lang.String; cannot be cast to java.lang.String报错
- Hive常用函数大全一览
- 应用虚拟化IT:需要决策支持做后盾
- 解密车载语音识别架构 车载系统能听懂人说话?
- flex布局及flex实现常见的前端布局
- 终于知道什么叫BSS段
- ipv6访问文件服务器,开启IPv6,让你的局域网可以使用IPV6进行共享文件夹的访问...
- 【CSS】画一个扇形
- 【MySql】简明笔记
- NIPS大会最精彩一日:AlphaZero遭受质疑;史上第一场正式辩论与LeCun激情抗辩;元学习强化学习亮点复盘...
- windows验证和SQLSERVER验证有什么区别?--混合认证
- android tv tts,android触摸语音事件
- JAVA 中的 反射
- sourcetree 回滚提交
- [2017全球人工智能高峰论坛]城市大脑是下一个十年的登月计划 王坚说出了什么?...
- Android常用的数据结构
- 13.Linux创建快捷方式
- numpy API 速查手册
热门文章
- android binder 要点记录
- 面试题① - java 反射机制
- 01 | 基础架构:MySQL基本架构和查询语句的执行
- 定时采用ajax方式获得数据库,ajax定时刷新数据库
- 如何使用ffmpeg进行音频文件合并
- IntelliJ IDEA 如何配置git
- web网页设计实例作业HTML+CSS+JavaScript蔬菜水果商城购物设计毕业论文源码
- 鸿蒙oppo vivo,华为鸿蒙成功的关键:要让小米、OPPO、VIVO都用上鸿蒙
- 容易保:买错保险比不买更可怕!你的保险买对了吗?
- linux 查看进程的lsof,Linux 命令神器:lsof 入门