集合的本质是一个对象,然后他可以转化成数组,身上的一些方法可以快速帮我们解决一些问题

        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()使用相关推荐

  1. 不要解决:如何将JavaScript集合与目标相匹配

    by Joe Morgan 乔·摩根(Joe Morgan) 不要解决:如何将JavaScript集合与目标相匹配 (Don't settle: how you can match your Java ...

  2. 在JavaScript中逐个遍历数组?

    如何使用JavaScript遍历数组中的所有条目? 我以为是这样的: forEach(instance in theArray) 其中theArray是我的数组,但这似乎是不正确的. #1楼 如果您不 ...

  3. Javascript – 正则表达式

    目录 1. 正则表达式 1.1 创建 1.2 RegExp 对象属性 1.3 RegExp 对象方法 1.4 RegExp 分组 2. 元字符和正则表达式规则 1正则表达式 正则表达式本身就是一种语言 ...

  4. 《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. ...

  5. 2016 年 50 个最佳的轻量级 JavaScript 框架和库一

    2016 年 50 个最佳的轻量级 JavaScript 框架和库 IT程序狮 · 1 天前 回顾今年已发布的 JS 框架和库,我们针对地筛选了一些能够提供直接和具体功能的免费 JavaScript ...

  6. JavaScript权威指南 第11章JavaScript标准库

    JavaScript权威指南 第11章JavaScript标准库 第11章 JavaScript标准库 11.1 集合与映射 11.1.1 Set类 11.1.2 Map类 11.1.3 WeakMa ...

  7. golang go语言_在Go语言中无需反思即可使用Lodash的好处

    golang go语言 by Tal Kol 通过塔尔科尔 在Go语言中无需反思即可使用Lodash的好处 (The benefits of using Lodash in the Go langua ...

  8. 【翻译】Ext JS——高效的编码风格指南

    原文:ExtJS - Efficient coding style guide 作者:Raja 切勿使用"new"关键字:在Ext JS中,使用"new"关键字 ...

  9. 四十种 智能合约 支持平台

    目录 1. 以太坊( Ethereum ) 2. Quorum 3. Wanchain 4. æternity 5. Zen 6. Counterparty 7. Rootstock (RSK) 8. ...

最新文章

  1. Xcode快捷键及代码块
  2. Google搜索的常用技巧
  3. 在拦截器中获取请求参数,[Ljava.lang.String; cannot be cast to java.lang.String报错
  4. Hive常用函数大全一览
  5. 应用虚拟化IT:需要决策支持做后盾
  6. 解密车载语音识别架构 车载系统能听懂人说话?
  7. flex布局及flex实现常见的前端布局
  8. 终于知道什么叫BSS段
  9. ipv6访问文件服务器,开启IPv6,让你的局域网可以使用IPV6进行共享文件夹的访问...
  10. 【CSS】画一个扇形
  11. 【MySql】简明笔记
  12. NIPS大会最精彩一日:AlphaZero遭受质疑;史上第一场正式辩论与LeCun激情抗辩;元学习强化学习亮点复盘...
  13. windows验证和SQLSERVER验证有什么区别?--混合认证
  14. android tv tts,android触摸语音事件
  15. JAVA 中的 反射
  16. sourcetree 回滚提交
  17. [2017全球人工智能高峰论坛]城市大脑是下一个十年的登月计划 王坚说出了什么?...
  18. Android常用的数据结构
  19. 13.Linux创建快捷方式
  20. numpy API 速查手册

热门文章

  1. android binder 要点记录
  2. 面试题① - java 反射机制
  3. 01 | 基础架构:MySQL基本架构和查询语句的执行
  4. 定时采用ajax方式获得数据库,ajax定时刷新数据库
  5. 如何使用ffmpeg进行音频文件合并
  6. IntelliJ IDEA 如何配置git
  7. web网页设计实例作业HTML+CSS+JavaScript蔬菜水果商城购物设计毕业论文源码
  8. 鸿蒙oppo vivo,华为鸿蒙成功的关键:要让小米、OPPO、VIVO都用上鸿蒙
  9. 容易保:买错保险比不买更可怕!你的保险买对了吗?
  10. linux 查看进程的lsof,Linux 命令神器:lsof 入门