JavaScript:Map与Set
JS的默认对象表示方式{ }可以视为Python中的Dict或者C与Java中的Map数据结构,即一组K-V对。
但是JS的对象有个小问题,就是Key必须是String,但实际上Number或者其他类型作为Key都是合理的。
为了解决这个问题,最新的ES6规范引入了新的数据结构Map。
Map
Map是一组K-V的结构,具有极快的查找速度。
构造
var m = new Map( [ ['K1',V1],['K2',V2],['K3',V3],... ] );
初始化Map需要一个二维数组,或者直接初始化一个空Map,再往其中加元素。
访问
m.get('K1');//V1
增删
m.set('K4',V4);//添加键值对 K4-V4 m.delete('K3');//删除K3对应的键值对
检查是否存在Key
m.has('K3');//是否存在Key为'K3'的键值对
Set
Set存储一组不重复的Key。
构造
var s = new Set( [1, 2, 3] );
用一个Array构造一个Set,或者直接创建一个空Set,重复元素只保存一个。
增删
s.add(ele);//添加新元素,如果存在则会失效 s.delete(ele);//删除元素