新的数据结构出现,往往是为了解决之前的痛点,更快更便捷的实现代码逻辑。本篇文章咱们一起学习一下JS中Set和Map数据结构。
Set
定义
Set结构中储存的是值,类似于数组,但是储存的值具有唯一性。定义Set结构方式如下图:
常用方法
add方法,在Set结构中添加一个值,验证方式如下图:
delete方法,在Set结构中删除一个值,验证方式如下图:
has方法,验证一个值是否在Set结构中,验证方式如下图:
应用场景
根据Set的特性可以用在去重,去重方式如下图:
Map
定义
Map结构中储存的是键值对,类似于对象,但是可以将对象作为键使用,创建Map结构方式如下图:
那你肯定也有疑问,既然有对象结构,为什么要添加Map结构,咱们来看下图这个场景:
从输出结果可以看到使用多个不同对象作为键,只会保留一个字符串作为键,这就是Map结构可以解决的问题,也是它们的不同之处,即对象的键只能是字符串,而Map结构的键可以是对象。
常用方法
set方法,给Map结构添加一个键值对,使用方法如下图:
get方法,通过键在Map结构中获取对应的值,验证方式如下图:
delete方法,根据键在Map结构删除对应的键值对,验证方式如下图:
has方法,根据键判断Map结构中是否有该属性键值对,使用方式如下图: