Map
键值对的集合 键名的范围不限制于字符串
1 | const m = new Map(); |
Map 参数
任何
Iterator
接口,并且每个成员都是双元素数组的数据结构 都可以作为参数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 let arr = [[1,2],[2,3]];
const ma = new Map(arr); //Map(2) {1 => 2, 2 => 3}
ma.get(1) //2
ma.get(2) //3
//如果几组双元素成员相同那么只会生成一个值
arr = [[1,2],[1,2]];
mss = new Map(arr); //Map(1) {1 => 2}
ma.size//2
mss.size//1
// keys 键名
for (let key of ma.keys()){
console.log(key)
//1
//2
}
//values 值
for (let val of ma.values()){
console.log(val)
//2
//3
}
//entries 键值 等同于 遍历 ma 默认遍历的是entries
for (let [key,val] of ma.entries()){
console.log(key,val)
//1,2
//2,3
}
//转化为数组
[... ma.keys() ] //[1,2]
[... ma.values() ] //[2,3]
[... ma] //[[1,2],[2,3]]