微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ES6之Set与Map加深理解

Set

类似于数组,但是成员的值都是唯一的,没有重复的值,有序

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

用途

数组去重:

[...new Set(array)]
或
Array.from(new Set(array));

字符串去重:

[...new Set('ababbc')].join('')
// "abc"

Map

“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键

任何具有 Iterator 接口、且每个成员都是一个双元素的数组的数据结构(详见《Iterator》一章)都可以当作Map构造函数的参数

只有对同一个对象的引用,Map 结构才将其视为同一个键。这一点要非常小心。

Map 的键实际上是跟内存地址绑定的,只要内存地址不一样,就视为两个键。这就解决了同名属性碰撞(clash)的问题,我们扩展别人的库的时候,如果使用对象作为键名,就不用担心自己的属性与原作者的属性同名。

Map 的遍历顺序就是插入顺序,对象无序

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐