本篇文章给大家带来的内容是关于ES6中Set的用法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
概述
Set是一个新的数据结构,和其他语言的特性差不多,当然,作为js中的Set,他还是有一些属于js的特点。
初始化
new Set([iterable]);
初始化一个Set有一个可选的参数,这个参数必须是一个可迭代的对象,可迭代对象包括String、Array、Array-Like obejct(Arguments、NodeList)、Typped Array、Set、Map和用户定义的可迭代对象
字符串
new Set('1234') // Set(4) {"1", "2", "3", "4"}
数组
new Set([1,2,3,4]) // Set(4) {1, 2, 3, 4}
arguments
function sum(){ return new Set(arguments) } sum(1,2,3,4) // Set(4) {1, 2, 3, 4}
Set
new Set(new Set([1,2,3,4])) // Set(4) {1, 2, 3, 4}
添加值
初始化一个Set之后,可以继续往里面添加值
let set=new Set() set.add(1) set.add(1) set.add(1) console.log(set) // Set(1) {1}
借用这个特性可以搞很多事,比如过滤重复值
new Set([1,1,2,3]) // Set(3){1,2,3}
但是注意,两个相同的对象字面量是不同的对象,具有不同的引用,所以Set
是无法将两个不同引用的对象标记为同一个的,即使他们看过去是一样的
let a={num:1} let b={num:1} console.log(a===b) //false new Set(a, b)// Set(2){{num:1},{num:2}} let c=a console.log(c===a)//true new Set(a,c)// Set(1){{num:1}}
判断是否包含
let set=new Set([1,2,3]) set.has(1) // true set.has(4) //false
获取数量
let set=new Set([1,2,3]) set.size //3
删除
let set=new Set([1,2,3]) set.delete(1)// true set.delete(1)// false
清空
let set=new Set([1,2,3]) set.clear() console.log(set) // Set(0){}
遍历
let set=new Set([1,2,3]) set.forEach((s)=>{console.log(s)}) // 1 // 2 // 3
获取迭代器
let set=new Set([1,2,3]) let entries=set.entries() console.log(entries.next().value) // [1,1] console.log(entries.next().value) // [2,2] console.log(entries.next().value) // [3,3] console.log(entries.next().value) // undefined for(let item of set){ console.log(item) } // 1 // 2 // 3
获取键迭代器
let set=new Set([1,2,3]) let keys=set.keys() console.log(keys.next().value) // 1 console.log(keys.next().value) // 2 console.log(keys.next().value) // 3 console.log(keys.next().value) // undefined for(let {key} of set){ console.log(key) } // 1 // 2 // 3
获取值迭代器
let set=new Set([1,2,3]) let values=set.values() console.log(values.next().value) // 1 console.log(values.next().value) // 2 console.log(values.next().value) // 3 console.log(values.next().value) // undefined for(let {value} of set){ console.log(value) } // 1 // 2 // 3
以上是ES6中Set的用法介绍(代码示例)的详细内容。更多信息请关注PHP中文网其他相关文章!

去掉重复并排序的方法:1、使用“Array.from(new Set(arr))”或者“[…new Set(arr)]”语句,去掉数组中的重复元素,返回去重后的新数组;2、利用sort()对去重数组进行排序,语法“去重数组.sort()”。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于Symbol类型、隐藏属性及全局注册表的相关问题,包括了Symbol类型的描述、Symbol不会隐式转字符串等问题,下面一起来看一下,希望对大家有帮助。

怎么制作文字轮播与图片轮播?大家第一想到的是不是利用js,其实利用纯CSS也能实现文字轮播与图片轮播,下面来看看实现方法,希望对大家有所帮助!

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于对象的构造函数和new操作符,构造函数是所有对象的成员方法中,最早被调用的那个,下面一起来看一下吧,希望对大家有帮助。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于面向对象的相关问题,包括了属性描述符、数据描述符、存取描述符等等内容,下面一起来看一下,希望对大家有帮助。

方法:1、利用“点击元素对象.unbind("click");”方法,该方法可以移除被选元素的事件处理程序;2、利用“点击元素对象.off("click");”方法,该方法可以移除通过on()方法添加的事件处理程序。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于BOM操作的相关问题,包括了window对象的常见事件、JavaScript执行机制等等相关内容,下面一起来看一下,希望对大家有帮助。

本篇文章整理了20+Vue面试题分享给大家,同时附上答案解析。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

Atom编辑器mac版下载
最流行的的开源编辑器

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。