ES6 Map数据结构使用细则

Map对象存有键值对,其中的键可以是任何数据类型。

Map声明:

let data1 = new Map() // 创建空Map
let data2 = new Map([['a',00],['b',7]])  // {'a' => 00,'b' => 7}

Map数据结构使用:

set():添加元素,支持链式操作;重复添加同一key,会覆盖旧值

let data = new Map([['a',1],['b',3]])
data.set('a',7)  // Map(2) {'a' => 7, 'b' => 3}

get(): 获取键对应内容

let data = new Map([['a',1],['b',3]])
data.get('a'). // 1

has(): 判断元素是否存在,返回值true、false

let data = new Map([['a',1],['b',3]])
data.has('a'). // true
data.has('c'). // false

delete(): 删除元素

let data = new Map([['a',1],['b',3]])
data.delete('a')
console.log(data) // Map(1) {'b' => 3}

clear(): 清空元素

let data = new Map([['a',1],['b',3]])
data.clear()
console.log(data) // Map(0) {size: 0}

keys(): 返回 Map 对象中键的数组

let data = new Map([['a',1],['b',3]])
console.log(data.keys()) // MapIterator {'a', 'b'}

values(): 返回 Map 对象中值的数组

let data = new Map([['a',1],['b',3]])
console.log(data.values())  // MapIterator {1, 3}

forEach(): 遍历Map,第一个形参是函数,函数形参为value,key

let data = new Map([['a',1],['b',3]])
data.forEach((value,key)=> {
    console.log(value, key)
})
// 1 'a'
// 3 'b'

Map基本方法小结:

方法作用
set()添加元素,支持链式操作;重复添加同一key,会覆盖旧值
get()获取键对应内容

has()

判断元素是否存在,返回值true、false
delete()删除元素
clear()清空元素
keys()返回 Map 对象中键的数组
values()返回 Map 对象中值的数组
forEach()遍历Map,第一个形参是函数,函数形参为value,key

Map属性:

属性作用
size获取 Map 数量

Map与普通对象区别:

        1. 对象的键只能是字符串或 Symbols,Map的键不局限字符串,可以是对象、函数等

        2. Map种的键值对是有序的,对象则是无序键值对的集合

        3. Map存取数据性能更好

        4. Map可以通过 size 属性获得 Map 键值对个数

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值