初识Set

  • 在Set里,不能有重复的值。
let set = new Set()
set.add(1)
set.add(1)
console.log(set)

运行结果:

修改一下

let set = new Set()
set.add(1)
set.add('1')
console.log(set)

运行结果:

这里和对象进行一下比较:对象是不区分字符串和数字的,而且后面的会把前面的覆盖。

let obj = {1: 'hello','1': 'dust',
}
console.log(obj);


Set里的增删改查

  • 查找:set.has('dust')set.values()
  • 增加:set.add('good')
  • 删除:set.delete('hello')
  • 全部删除:set.clear()
let set = new Set(['hello', 'dust'])
console.log(set.size) //2
console.log(set.delete('hello')) //true
console.log(set.delete('hello123')) //false
console.log(set.has('dust')) //true
set.add('good')
console.log(set.values()) //[Set Iterator] { 'dust', 'good' }
console.log(set.clear()) //undefined
console.log(set.size) //0

类型之间互相帮助才是好兄弟

  • 例题:去除字符串内小于5的
let a = new Set('123456789')
let arr = [...a].filter((item) => item < 5)
a = new Set(arr)
console.log(a) //Set(4) { '1', '2', '3', '4' }
  • 例题:数组去重

这是我见过的最简单的写法了,震惊啊!

let array = [1, 2, 3, 4, 5, 1, 2, 3, 4]
array = [...new Set(array)]
console.log(array) //[ 1, 2, 3, 4, 5 ]
  • 例题:数组合并
let a = [1, 2, 3, 4, 5]
let b = [3, 4, 5, 6, 7, 8]
let set = new Set([...a, ...b])
let res = [...set]
console.log(res)

运行结果:


查看Set里的内容

let set = new Set(['hello', 'dust'])
console.log(set.entries())

运行结果:


Set的遍历

  • forEach的遍历
let set = new Set(['hello', 'dust'])
set.forEach((value,key,set)=>{console.log(value,key);
})

运行结果:

  • for-of遍历:
for (const value of set) {console.log(value)
}

运行结果:

[JavaScript] Set类型在JavaScript中的使用相关推荐

  1. [JavaScript] Map类型在JavaScript中的使用

    感受Map键值对 花样很多 let map = new Map() map.set('name', 'dust') map.set(function () {}, 'hello') map.set({ ...

  2. php中常见的错误类型有,JavaScript编程中会出现的错误类型有哪些?错误类型介绍...

    JavaScript编程中会出现的错误类型有哪些?本篇文章就给大家介绍在JavaScript编程中出现的几种常见的错误类型.有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助.[相关视频教 ...

  3. 四个Webix实例:生成多种类型的JavaScript列表

    在这篇文章中,我们将介绍如何创建使用各种类型列表显示数据的Web组件.具体而言,我们采用的是Webix UI库.要理解Webix UI的工作机制,我们将会创建一个简单的小组件,以列表形式显示JSON数 ...

  4. javascript基本类型及类型转换

    每种语言都有自己的基本类型,javascript也不例外.在javascript中有五大基本类型,分别是number,string,boolean,null,undefined.其他不属于这五种基本类 ...

  5. JavaScript的类型、值和变量

    计算机程序的运行需要对值进行操作,在编程语言中,能够表示并操作的值得类型称为数据类型.变量用来将值存储起来,变量是值得符号名称. 一.数据类型 JavaScript的数据类型可以分为两类,原生类型和对 ...

  6. 详解JavaScript变量类型判断及domReady原理 写得很好

    原文:详解JavaScript变量类型判断及domReady原理 我们知道,在开发JavaScript时候,经常要判断JavaScript变量类型,此 JavaScript教程 详细介绍JS变量的判断 ...

  7. javascript基础系列:javascript中的变量和数据类型(一)

    javascript基础系列:javascript中的变量和数据类型(一) 今天开始去重新系统温习一遍js基础,并作下记录 javascript是由三部分组成: ECMASCRIPT(ES): 描述了 ...

  8. JavaScript的类型自动转换高级玩法JSFuck

    0 前言 最开始是不小心在微信公众号(程序员大咖)看到一篇JS的高逼格代码,然后通过里面的链接跳转到了JSFuck的wiki,就像顺着迷宫找宝藏的感觉,感叹JS的自动类型转换的牛逼. 1 样例 (!( ...

  9. JavaScript对象类型Object

    前言 系统学习JavaScript,由于有3年的java后端开发经验,并且有2年的JavaScript+Jquery开发经验,所以像编程语言的一些通用知识就直接跳过了,重点关注JavaScript的语 ...

最新文章

  1. SpringBoot(1.5.6.RELEASE)源码解析(一)
  2. AtomicStampedReference源码分析
  3. JS各种各样的拖动效果
  4. vscode 插件推荐 - 献给所有前端工程师(2018.4.29更新)
  5. bk3432开发的应用实例_SpringCloud应用在Kubernetes上的最佳实践—诊断(线上联调)...
  6. Redis 订阅与发布
  7. win32application与win32 console application区别何在
  8. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛.J强迫症的序列
  9. VXlan 技术实现原理
  10. 计算机网络管理员基础pdf,复习题计算机网络管理员高级.pdf
  11. 欧美音乐史上最经典的歌曲
  12. php实现手机投屏到电视机,手机画面投屏到电视机/投影仪,最常用最简单的3种方法!...
  13. android系统证书导入工具,添加Fiddler/Mitmproxy证书为安卓系统证书
  14. Javascript获取当前时间24小时制
  15. IDEA打jar包步骤(详细)
  16. Linux下U盘变成只读
  17. SSI技术的前端动态实现(AJAX+SSI,适用于任何系统,包括搭载嵌入式RTOS的STM32系列开发板)
  18. PTA基础题考点汇总
  19. 使用Python matplotlib库绘制漏斗图
  20. 关于Fluent网格尺寸的疑惑

热门文章

  1. 2022-2028年中国多肽药物市场研究及前瞻分析报告
  2. 2022-2028年中国塑料零部件行业市场发展规模及市场分析预测报告
  3. 关于python中的dict和defaultdict
  4. 机房收费系统总结【3】-数据库细节
  5. 数据类型转换pytorch
  6. 全文翻译(四) TVM An Automated End-to-End Optimizing Compiler
  7. 人工智能训练云燧T10
  8. Ascend Pytorch算子功能验证
  9. AMD Ryzen 5000‘Cezanne’APU
  10. Yolov1目标检测算法详细分析