1、Set
Set是一种叫集合(一堆无序的、相关联、且不重复的元素组成的组合)的数据结构,可看成是一维数组
Set本身就是一个构造函数,用来生成Set数据结构的,具有add、delete、has、clear
等方法,通常用来做数组去重
let set = new Set(['red','green','blue','red','green'])
let arr = [...set]. // ['red', 'green', 'blue']
2、Map
Map是一种叫字典(一些元素的集合。每个元素有一个称作 key 的域,不同的元素的 key 各不相同)
的数据结构;可看成是 二维数组
Map是键值对的有序列表,键和值都能是任意类型;具有 size、get、set、delete、has、clear 方法
const m = new Map();
const o = {p: 'Hello World'};
m.set(o, 'content')
m.get(o) // "content"
m.has(o) // true
m.delete(o) // true
m.has(o) // false
3、Set和Map的区别
-
Set
-
可看成是
一维数组
-
成员不能重复
-
只有键值,类似数组
-
可以遍历,方法:add、delete、has 等
-
-
Map
-
可看成是
二维数组
-
本质上是键值对的集合,类似集合
-
可以遍历,可跟各种数据类型格式转换
-