Map和Set 是什么: 一组键值对 背景: JavaScript的默认对象表示方式{}可以视为其他语言中的Map或Dictionary的数据结构,即一组键值对。 但是JavaScript的对象有个小问题,就是键必须是字符串。但实际上Number或者其他数据类型作为键也是非常合理的。 Map Map是一组键值对的结构,具有极快的查找速度。 var m = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]); m.get('Michael'); 初始化Map需要一个二维数组,或者直接初始化一个空Map var m = new Map(); // 空Map m.set('Adam', 67); // 添加新的key-value m.has('Adam');// 是否存在key 'Adam': true m.get('Adam'); m.delete('Adam'); Set Set和Map类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在Set中,没有重复的key 要创建一个Set,需要提供一个Array作为输入,或者直接创建一个空Set var s1 = new Set(); // 空Set var s2 = new Set([1, 2, 3]); // 含1, 2, 3 s.add(4);//添加元素 s.delete(4);//删除元素