set:类似于数组,但所有成员的值都是唯一的
var set = new Set([1, 3]);
使用for of遍历
Array.from方法可以将set结构转为数组
Array.from(new Set(array))可以数组去重
[…new Set(array)]
| 方法 | 描述 |
|---|---|
| set.add(value) | 添加某个值,返回set本身 |
| set.delete(value) | 删除某个值,返回布尔,表示是否删除成功 |
| set.has(value) | 返回boolean |
| set.clear() | 清除所有成员 |
| set.keys() | |
| set.values() | |
| set.entries() | 返回一个键值对的遍历器 |
| set.forEach() | |
| new Set([…a, …b]) | 并集 |
| new Set([…a].filter(x => b.has(x))) | 交集 |
| new Set([…a].filter(x => !b.has(x))) | 差集 |
map:键值对的集合
var map = new Map();
map.set([‘a’], 555);
map.get([‘a’]);
上面的set和get方法,表面上针对同一个键,但实际上这两个值内存地址不一样,会返回undefined
| 方法 | 描述 |
|---|---|
| map.set(key, value) | 添加某个值,返回map本身 |
| map.get(key) | 读取某个值 |
| map.has(key) | |
| map.delete(key) | 删除某个值 |
| map.keys() | |
| map.values() | |
| map.entries() | 返回一个键值对的遍历器 |
| set.forEach() |