Javascript教程

Javascript教程(六)Map和Set

2018-05-22  本文已影响0人  klmhly

JavaScript的对象有个小问题,就是键必须是字符串。但实际上Number或者其他数据类型作为键也是非常合理的.
为了解决这个问题,最新的ES6规范引入了新的数据类型Map

1. Map
Map是一组键值对的结构,具有极快的查找速度。
初始化Map需要一个二维数组,或者直接初始化一个空Map

var m = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]);    //初始化需要一个二维数组
m.get('Michael'); // 95

Map具有以下方法:
1.1 set()
添加新的key-value

var m = new Map(); // 空Map
m.set('Adam', 67); // 添加新的key-value

1.2 get()
获取某个键对应的值

m.get('Adam'); // 67

1.3 has()
判断是否存在某个key

m.has('Adam'); // 是否存在key 'Adam': true

1.4 delete()
删除key

m.delete('Adam'); // 删除key 'Adam'

2. Set
Set和Map类似,也是一组key的集合,但不存储value
要创建一个Set,需要提供一个Array作为输入,或者直接创建一个空Set.

重复的元素在set中自动被过滤,可以用这一特性对一个数组去重

var s1 = new Set(); // 空Set
var s2 = new Set([1, 2, 3,3]); // 含1, 2, 3

Set具有以下方法:
2.1 add()
可以添加元素到Set中

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

2.2 delete()
删除元素

var s = new Set([1, 2, 3]);
s; // Set {1, 2, 3}
s.delete(3);
s; // Set {1, 2}
上一篇 下一篇

猜你喜欢

热点阅读