题目:解释下SetMap

  • Set 元素不允许重复
  • Map 类似对象,但是它的键(key)可以是任意数据类型

①Set 常用方法

// 实例化一个set
const set = new Set([1, 2, 3, 4]);
// 遍历set
for (let item of set) {
    console.log(item);
}
// 添加元素,返回Set本身
set.add(5).add(6);
// Set大小
console.log(set.size);
// 检查元素存在
console.log(set.has(0));
// 删除指定元素,返回bool
let success = set.delete(1);
console.log(success);
set.clear();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

其他遍历方法:由于没有键名,values()keys()返回同样结果。

for (let item of set.keys()) {
    console.log(item);
}
for (let item of set.values()) {
    console.log(item);
}
for (let item of set.entries()) {
    console.log(item);
}
1
2
3
4
5
6
7
8
9

②Map 常用方法

Map 接口基本和 Set 一致。不同的是增加新元素的 API 是:set(key, value)

const map = new Map();
// 以任意对象为 Key 值
// 这里以 Date 对象为例
let key = new Date();
map.set(key, "today");
console.log(map.get(key));
1
2
3
4
5
6
来自: Set 和 Map对比 | 心谭博客
作者:心谭
Star仓库:github