ES6 Map/WeakMap

最近项目用ES6来写,许多语法都要逐步熟悉呀,今天收藏下Map用法

 

1、Map构造器

// 字符串作为key, 和JS对象类似

var map = new Map()

// set

map.set('name', 'John')

map.set('age', 29)

// get

map.get('name') // John

map.get('age')  // 29


// 对象作为key演示

var xy = {x: 10, y: 20}   // 坐标

var wh = {w: 100, h: 200} // 宽高

var map = new Map()

// set

map.set(xy, '坐标')

map.set(wh, '宽高')

// get

map.get(xy) // '坐标'

map.get(wh) // '宽高'
View Code

 

Map构造器还支持传数组方式

 1 var map = new Map([["name", "John"], ["age", "29"]])
 2 
 3  
 4 
 5 // 遍历key
 6 
 7 for (var key of map.keys()) {
 8 
 9     console.log(key) // name, age
10 
11 }
View Code

2. 迭代

和Set一样用for of来迭代Map,键调用map.keys(),值调用map.values(),键值实体调用map.entries()

 1 var map = new Map()
 2 
 3 // set
 4 
 5 map.set('name', 'John')
 6 
 7 map.set('age', 29)
 8 
 9 // get
10 
11 map.get('name') // 'John'
12 
13 map.get('age')  // 29
14 
15  
16 
17 // 遍历key
18 
19 for (var key of map.keys()) {
20 
21     console.log(key)
22 
23 }
24 
25  
26 
27 // 遍历value
28 
29 for (var val of map.values()) {
30 
31     console.log(val)
32 
33 }
34 
35  
36 
37 // 遍历实体
38 
39 for (var arr of map.entries()) {
40 
41     console.log('key: ' + arr[0] + ', value: ' + arr[1])
42 
43 }
44 
45  
46 
47 // 遍历实体的简写
48 
49 for (var [key, val] of map.entries()) {
50 
51     console.log('key: ' + key + ', value: ' + val)
52 
53 }
View Code

3. 方法和属性

map.clear

map.delete

map.entries

map.forEach

map.get

map.has

map.keys

map.set

map.size

map.values

 

 

原文:http://www.cnblogs.com/snandy/p/4519768.html

转载于:https://www.cnblogs.com/Anlycp/p/5464760.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值