首页 > 代码库 > 表示集合的数据结构:数组(Array),对象(Object),Map和Set

表示集合的数据结构:数组(Array),对象(Object),Map和Set

MapSet是ES6标准新增的数据类型

Map: 是一组键值对的结构,使用一个二维数组来初始化Map,例如:

var m = new Map([[‘xiaohong‘,100],[‘xiaolan‘,99],[‘xiaoming‘,108]]);

或者直接初始化一个空Map:

var m = new Map();

m.set(‘xiaoli‘,98);

m.get(‘xiaoli‘); // 98

m.delete(‘xiaoli‘);//删除xiaoli这个键值对

m.get(‘xiaoli‘); // undefined

Map结构的key只能对应一个value,如果给一个key多次赋值,那么后面的值会覆盖前面的值。

m.set(‘xiaolan‘,88);

m.set(‘xiaolan‘,97);

m.get(‘xiaolan‘); // 97

 

Set: 是一个一维数组初始化的结构,没有value值,只包含key值,例如:

var s = new Set([3,2,1]);

重复元素在Set中自动被过滤掉:

var s = new Set([1,3,5,6,6,‘6‘]);

s; // Set(5) {1, 3, 5, 6, "6"} 整数6和字符串‘6’是不同的值

添加元素到Set中:

var s = new Set();

s.add(18);

s; // Set(1) {18}

Set通过delete(key)的方法删除元素:

s.delete(18);

表示集合的数据结构:数组(Array),对象(Object),Map和Set