JavaScript Set与Map数据结构详细分析

Set

ES6提供了新的数据结构 Set(集合)。它类似于数组,但成员的值都是唯一的,集合实现了iterator接口,所以可以使用 [扩展运算符] 和 [for...of] 进行遍历。

基本使用

添加新的元素

Set函数可以接受一个数组(或者具有iterable接口的其他数据结构)作为参数,用来初始化。

JavaScript Set与Map数据结构详细分析_第1张图片

删除元素

数组去重

检测

清空

遍历

交集

并集

差集

遍历操作

Set数据结构提供了四种遍历方法,用于遍历成员。

keys()、values()

由于 Set 结构键名和键值是同一个值,所以 keys 方法和 values 方法的行为完全一致,都是返回键名/值 。

entries()

entries方法返回的结果包括键名和键值,所以输出的数组,其键名和键值完全相等。

forEach()

forEach()方法用于对每个成员执行某种操作,该方法参数就是一个处理函数,该函数的参数与数组的forEach一致。

Map

ES6提供了 Map 数据结构,它类似于对象,也是键值对的集合。但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。Map也实现了 iterator 接口,所以可以使用 [扩展运算符] 和 [for...of] 进行遍历。

基本使用

添加元素

因为为Map添加了三次元素,所以Map的长度为3。

JavaScript Set与Map数据结构详细分析_第2张图片

删除元素

获取元素

get方法获取key对应的键值,如果找不到key,返回undefned。

检测元素

has方法返回一个布尔值,用来检测某个值是否在当前 Map 对象中。

清除元素

clear方法清除所有元素,没有返回值。

Map的遍历操作和上文的Set方法一致,这里不再讲解。

到此这篇关于JavaScript Set与Map数据结构详细分析的文章就介绍到这了,更多相关JS Set与Map内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

你可能感兴趣的:(JavaScript Set与Map数据结构详细分析)