前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript第十六弹——ES6(5)新成员Set & Map

JavaScript第十六弹——ES6(5)新成员Set & Map

作者头像
萌兔IT
发布2019-07-25 17:10:21
3130
发布2019-07-25 17:10:21
举报
文章被收录于专栏:萌兔it萌兔it

Hello小伙伴们,今天我们先把扩展放一放,为大家隆重介绍我们ES6新添加的两位成员——Set和Map!我们将分别从它们的基础用法、常用方法、遍历方法和特殊对象四个方面进行介绍。

Set

01

基础用法

Set类似于Array,但是有一个特点,那就是成员的值都是唯一的,不能重复,所以把数组转化成为Set是一个去重的小妙招呢~

1)定义一个Set结构很简单,new一个就好了~

let s = new Set();

2)其实Set也可以接受参数

比如接受一个数组:

比如接受一个类数组:

那么怎么通过Set将数组去重呢?我们来试试:首先将数组传入Set,然后将Set转化为数组

02

常用方法

方法都是字面意思

1)add(value):为Set添加成员

2)delete(value):为Set删除成员,返回是否成功删除

3)has(value):判断是否含有某成员

4)clear():清除所有成员

03

遍历

说到遍历,我们一般会涉及键的遍历,值的遍历和键值对的遍历

keys():返回键名的遍历器

values():返回键值的遍历器

entries():返回键值对的遍历器

forEach():使用回调函数遍历每个成员

size():返回长度

04

WeakSet

这个与Set类似啦,只要记住两点就好,WeakSet的成员只能是对象呢!而且即使WeakSet引用对象,也一样会被垃圾回收机制回收呢~

Map

01

基本用法

Map呢相似于对象,但是与对象又有些不同,也是键值对的组合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。

创建也很容易:

const m = new Map();

02

常用方法

有很多相似于set,着重介绍一下不同的方法

1)size():返回长度

2)set(k,v):添加成员,这个添加成员不同于Set的add,是通过set添加的

3)get(key):读取值

4)has(key):判断是否含有成员

5)delete(key):删除成员

6)clear():清除所有成员

03

遍历方法

还是这四个呢~

1)keys():返回键名的遍历器。

2)values():返回键值的遍历器。

3)entries():返回所有成员的遍历器。

4)forEach():遍历 Map 的所有成员。

04

WeakMap

同样也提一下WeakMap,相同与Map,但是不同于Map:

相同:都是用于生成键值对的集合。

不同:1)WeakMap只接受对象作为键名(null除外),不接受其他类型的值作为键名。

2)WeakMap 弱引用的只是键名,而不是键值。键值依然是正常引用。

好啦~今天的分享就到这里啦~记住Set和Map两大神器了吗~~喜欢兔妞的文章就请加关注点个在看吧~~

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-03-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 萌兔it 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档