首页 > 其他分享 >09-内置对象扩展:Set数据结构

09-内置对象扩展:Set数据结构

时间:2023-04-20 14:36:05浏览次数:46  
标签:Set set2 09 数组 王五 数据结构 张三

title: 09-内置对象扩展:Set数据结构
publish: true

Set 数据结构

Set 数据结构的介绍

ES6 提供了 新的数据结构 Set。Set 类似于数组,但成员的值都是唯一的,没有重复的值。

Set 的应用有很多。比如,在 H5 页面的搜索功能里,用户可能会多次搜索重复的关键字;但是在数据存储上,不需要存储重复的关键字。此时,我们就可以用 Set 来存储用户的搜索记录,Set 内部会自动判断值是否重复,如果重复,则不会进行存储,十分方便。

生成 Set 数据结构

Set 本身就是一个构造函数,可通过 new Set() 生成一个 Set 的实例。

举例 1:

const set1 = new Set();
console.log(set1.size); // 打印结果:0

举例 2、可以接收一个数组作为参数,实现数组去重

const set2 = new Set(['张三', '李四', '王五', '张三']); // 注意,这个数组里有重复的值

// 注意,这里的 set2 并不是数组,而是一个单纯的 Set 数据结构
console.log(set2); // {"张三", "李四", "王五"}

// 通过扩展运算符,拿到 set 中的元素(用逗号分隔的序列)
// ...set2 //  "张三", "李四", "王五"

// 注意,到这一步,才获取到了真正的数组
console.log([...set2]); // ["张三", "李四", "王五"]

注意上方的第一行代码,虽然参数里传递的是数组结构,但拿到的 set2 不是数组结构,而是 Set 结构,而且里面元素是去重了的。通过 [...set2]就可以拿到set2对应的数组。

我的公众号

想学习更多技能?不妨关注我的微信公众号:千古壹号

扫一扫,你将发现另一个全新的世界,而这将是一场美丽的意外:

标签:Set,set2,09,数组,王五,数据结构,张三
From: https://www.cnblogs.com/full-stack-linux-new/p/17336708.html

相关文章

  • vscode 格式化统一配置 settings.json
    {"workbench.colorTheme":"DefaultDark+","eslint.autoFixOnSave":true,"editor.codeActionsOnSave":{"source.fixAll.eslint":true},"[javascript]":{ "......
  • Python常用数据结构之元组
    前面的两节课,我们为大家讲解了Python中的列表,它是一种容器型的数据类型,通过列表类型的变量,我们可以保存多个数据并通过循环实现对数据的批量操作。当然,Python中还有其他容器型的数据类型,接下来我们就为大家讲解另一种容器型的数据类型,Python常用数据结构之元组(tuple)。元组的定义......
  • JS中定时执行,setTimeout和setInterval的区别,以及l解除方法
    评:setTimeout(Expression,DelayTime),在DelayTime过后,将执行一次Expression,setTimeout运用在延迟一段时间,再进行某项操作。setTimeout("function",time)设置一个超时对象setInterval(expression,delayTime),每个DelayTime,都将执行Expression.常常可用于刷新表达式.set......
  • AtCoder Regular Contest 109 F 1D Kingdom Builder
    洛谷传送门AtCoder传送门考虑判断一个终止态是否可达。如果只有一个棋子连续段那一定可达;否则就存在\(\ge2\)个连续段。此时把放棋子看成删除,那么限制就是如果删除一个孤立的棋子(两边没有棋子)且还有别的格子有棋子,这个棋子的颜色异于其他连续段的两边棋子的颜色。设第一......
  • 09-HTML5举例:简单的视频播放器
    title:09-HTML5举例:简单的视频播放器publish:true我们采用Bootstrap网站的图标字体,作为播放器的按钮图标。index.html的代码如下:<!DOCTYPEhtml><html><headlang="en"><metacharset="UTF-8"><title></title><!--引入字体图......
  • Dynamics CRM - 安装 SSRS CRM Reporting Extensions 时报错:Action Microsoft.Crm.Set
    一、问题场景:   在安装CRM2016的SSRSReportingExtensions时遇到以下报错:    二、解决方案:   a.根据提示,访问对应路径的文件夹:C:\ProgramFiles\MicrosoftSQLServer\MSRS13.MSSQLSERVER\ReportingServices,可以看到ReportManager文件夹并不存在; ......
  • Unknown character set: 'utf8mb4'
    评:Unknowncharacterset:'utf8mb4'从昨天晚上开始,困扰了我几个小时的问题,无论用c3p0还是用Spring的DriverManagerDataSource都无法连接我服务器上的远程数据库,一直报的错误就是:org.springframework.jdbc.CannotGetJdbcConnectionException:CouldnotgetJDBCConnection......
  • Build was configured to prefer settings repositories over project repositories b
    首先上链接:stackoverflow的正解下载了最新版的狐狸图标的AS,4.1.2版本,新建的项目默认使用的最新版本7.0.2的gradle, 在项目的build.gradle中添加项目编译需要的依赖,allprojects{repositories{google()jcenter()}} 然后,报错,编译不过。提示也说了,构建被配......
  • java学习日记20230415-LinkedHashSet源码
    LinkedHashSet全面说明:LinkedHashSet是HashSet子类;底层是一个LinkedHashMap,底层维护了一个数组和双向链表根据元素的hashCode值来决定元素的位置,同时使用链表维护元素的次序,使得元素看起来是以插入的顺序保存的不允许添加重复元素维护了一个hash表和双向链表,每个节点有pre和......
  • P1067 [NOIP2009 普及组] 多项式输出
    #[NOIP2009普及组]多项式输出##题目描述一元$n$次多项式可用如下的表达式表示:$$f(x)=a_nx^n+a_{n-1}x^{n-1}+\cdots+a_1x+a_0,a_n\ne0$$其中,$a_ix^i$称为$i$次项,$a_i$称为$i$次项的系数。给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该多项......