资讯专栏INFORMATION COLUMN

ES6:Set和Map

bbbbbb / 2516人阅读

摘要:类似数组,但是成员的值都是唯一的,没有重复。他包含的方法添加某个值,返回结构本身。如果其他对象不再引用该对象,那么垃圾回收机制会自动回收该对象所占的内存,所以是不可遍历的。他是键值对的集合结构。所以当需要键值对这样的数据结构时,比更合适。

Set

Set:类似数组,但是成员的值都是唯一的,没有重复。
Set本身是一个构造函数,用来生成Set数据结构。
他包含的方法:
add: 添加某个值,返回Set结构本身。
delete: 删除某个值,返回一个布尔值,表示是否成功;
has(value): 返回布尔值,表示该值是否为Set的成员;
clear():清除所有成员,没有返回值
遍历操作
keys():返回键名的遍历器
values(): 返回健值对的遍历器
entries():返回键值对的遍历器
forEach(): 每个成员

WeakSet

他与Set类似,但是也有区别
1.weakSet的成员只能是对象,不能是其他类型的值
2.weakSet对象都是弱引用。如果其他对象不再引用该对象,那么垃圾回收机制会自动回收该对象所占的内存,所以WeakSet是不可遍历的。

WeakSet结构的三个方法
add
delete
has
WeakSet的一个用处是储存DOM节点,而不用担心这些节点会从文档中移除时,会引发内存泄露。

Map

他是键值对的集合(Hash结构)。他与Object结构的区别是:Object是一种“字符串-值”的对应,Map是“值-值”的对应。所以当需要“键值对”这样的数据结构时,Map比Object更合适。
他的方法:
set(key, value)
get(key)
has(key)
delete(key)
clear()
遍历方法
keys()
values()
entries()
forEach()

WeakMap

WeakMap跟Map结构基本类似,区别是只接受对象(null除外)作为键名,不接受其他类型的值作为键名,而且键名所指向的对象,不计入垃圾回收机制。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/82060.html

相关文章

  • 深入理解:ES6中的SetMap数据结构,Map与其它数据结构的互相转换

    摘要:学习笔记工作中常用到的语法只是简单提及和,今天有空于是写了这篇文章深入理解中的和数据结构,与其它数据结构的互相转换。的提供了新的数据结构。本身是一个构造函数,用来生成数据结构。 文中的内容主要是来自于阮一峰的《ES6标准入门》(第三版)。《学习ES6笔记──工作中常用到的ES6语法》只是简单提及Set和Map,今天有空于是写了这篇文章──《深入理解:ES6中的Set和Map数据结构,M...

    Cristalven 评论0 收藏0
  • 深入理解ES6笔记(七)Set集合Map集合

    摘要:创建并添加项目可以使用数组来初始化一个,并且构造器会确保不重复地使用这些值使用方法来测试某个值是否存在于中移除值使用方法来移除单个值,或调用方法来将所有值从中移除。属性的初始化将数组传递给构造器,以便使用数据来初始化一个。 主要知识点:Set的基本操作,Weak Set,Map的基本操作,Weak MapshowImg(https://segmentfault.com/img/bVbf...

    loostudy 评论0 收藏0
  • ES6引入的数据结构 - ES6 - ECMAScript特性 - Javascript核心

    摘要:引入的数据结构新加入的数据类型有这些数据结构的支持并不广泛,在写这篇文章的时候。是或其他可枚举的对象,其每个元素是的元数组。开头的和不对持有引用,不影响。因此,他们没有办法对自身的进行直接的枚举。目前新版的和支持。 原文:http://pij.robinqu.me/JavaScript_Core/ECMAScript/es6/es6_data_types.html 源代...

    fobnn 评论0 收藏0
  • ES6系列---Set集合与Map集合

    摘要:中模拟与长久以来,数组一直是中唯一的集合类型。用数组初始化集合事实上,只要是可迭代对象数组集合集合,都可以作为构造函数的参数。构造函数通过迭代器从参数中提取值。 ES5中模拟Set与Map 长久以来,数组一直是JavaScript中唯一的集合类型。如果开发者们需要使用非数值型索引,就会用非数组对象创建所需的数据结构,而这就是Set集合与Map集合的早期实现。 一般来说,Set集合常被用...

    happyhuangjinjin 评论0 收藏0
  • ES6数据结构:setmap

    摘要:提供了新的数据结构。用法结构有以下属性构造函数,默认就是函数。结构有以下方法添加某个值,返回结构本身。返回一个布尔值,表示该值是否为的成员。清除所有成员,没有返回值。 Set ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。 用法:new Set([iterable]) const set = new Set([1, 2, 3, 4, 4, 4]...

    VPointer 评论0 收藏0
  • es6-SetMap

    摘要:由于和不会被转换为字符串,所以在内部是不同的项,如果他们被转化为字符串,那么都会等于,如果多次调用并传入相同的值作为参数。第二次重复传入并不会被添加到集合中,那么的属性值还是为。的方法和共享了几个方法。小结正式将与引入。 se5中的set与map 在est5中开发者使用对象属性来模拟。set多用于检查键的存在,map多用于提取数据。 { let set = Object.cre...

    big_cat 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<