ES6新增数据类型Map、Set。

首先,先确定你的浏览器是否支持ECMAscript6,方法是执行以下代码:

'use strict';
var m = new Map();
var s= new Set();
alert('你的浏览器支持MapSet');
如果浏览器报ReferenceError错误,那么你需要换一个支持ES6的浏览器。


1.Map

Map是一组键值对的结构,查找速度快。

var m = new Map([['Bob', 100], ['Jhon', 85], ['Mike', 66]]);
m.get('Bob'); // 100

初始化Map需要一个二维数组,或者直接初始化一个空MapMap具有以下方法:

var m = new Map(); // Map
m.set('Adam', 67); // 添加新的key-value
m.set('Bob', 59);
m.has('Adam'); // 是否存在key 'Adam': true
m.get('Adam'); // 67
m.delete('Adam'); // 删除key 'Adam'
m.get('Adam'); // undefined

注意:一个键只能有一个值。

2.Set

Set和Map相似,Set的特点是不会存储value,只会存储不重复的key。

var s1 = new Set(); // Set
var s2 = new Set([1, 2, 3]); // 1, 2, 3
var s = new Set([1, 2, 3, 3, '3']);
s; // Set {1, 2, 3, "3"}
通过add(key)方法可以向Set中添加key,可以重复添加相同的元素,但是不会有效果。

通过delete(key)方法删除已有的key

s.add(4);
//s {1, 2, 3, 4}
s.add(4);
//s {1, 2, 3, 4}
s.delete(4);
//s {1,2,3}


你可能感兴趣的:(ES6新增数据类型Map、Set。)