参考自 廖雪峰老师官方网站的JavaScript教程
以下是关于Map和Set的简单总结
Map是一种键值对的结构,具有极快的查找速度
var m = new Map([['Michael', 95],['Bob',75],['Tracy',85]]); //Map初始化
console.log(m.get('Michael')); //95 Map获取
//初始化Map需要一个二维数组,或者直接初始化一个空Map。
var m = new Map(); //空Map
//Map具有以下方法
m.set('wang',99); //添加新的键值对
m.has('wang'); //是否存在key 'wang', 返回布尔值
m.get('wang'); //99
m.delete('wang'); //删除
m.get('wang'); //undefined
Set 和 Map 类似,也是一组key的集合,但不存储value。由于key不能重复,所以在Set中,没有重复的key
var s = new Set(); //创建一个空Set
var s2 = new Set([1,2,3]); //提供一个数组作为输入
//重复元素在Set中自动被过滤
var s = new Set([1,2,3,3,3,'3']);
console.log(s); //Set {1,2,3,'3'}
//通过add(key)方法可以添加元素到Set中,可以重复添加,但没有效果,会被过滤
s.add(4);
console.log(s); //{1,2,3,'3',4}
//通过delete(key)方法删除Set元素
s.delete('3');
console.log(s); //{1,2,3,4}