ES6 map集合

本文详细介绍了JavaScript中的Map集合,包括其特点、创建方式和常见操作,如设置键值对、获取值、判断键是否存在及遍历方法。Map集合解决了使用对象存储键值对时遇到的问题,如键必须为字符串、获取数据不便等。示例代码展示了Map的创建和遍历,以及如何将Map转换为数组并进行相关操作。
摘要由CSDN通过智能技术生成

map集合

键值对(key value pair)数据集合的特点:键不可重复

map集合专门用于存储多个键值对数据。

在map出现之前,我们使用的是对象的方式来存储键值对,键是属性名,值是属性值。

使用对象存储有以下问题:

  1. 键名只能是字符串

  2. 获取数据的数量不方便

  3. 键名容易跟原型上的名称冲突

  4. 如何创建map

new Map(); //创建一个空的map
new Map(iterable); //创建一个具有初始内容的map,初始内容来自于可迭代对象每一次迭代的结果,但是,它要求每一次迭代的结果必须是一个长度为2的数组,数组第一项表示键,数组的第二项表示值
  1. 如何进行后续操作
  • size:只读属性,获取当前map中键的数量
  • set(键, 值):设置一个键值对,键和值可以是任何类型
    • 如果键不存在,则添加一项
    • 如果键已存在,则修改它的值
    • 比较键的方式和set相同
  • get(键): 根据一个键得到对应的值
  • has(键):判断某个键是否存在
  • delete(键):删除指定的键
  • clear(): 清空map
  1. 和数组互相转换

和set一样

  1. 遍历
  • for-of,每次迭代得到的是一个长度为2的数组
  • forEach,通过回调函数遍历
    • 参数1:每一项的值
    • 参数2:每一项的键
    • 参数3:map本身
  const mp = new Map([
            ["a", 3],
            ["c", 10],
            ["b", 4],
            ["c", 5]
        ]);
        const result = [...mp]
        console.log(result);

        // for (const [key, value] of mp) {
        //     console.log(key, value)
        // }

        mp.forEach((value, key, mp) => {
            console.log(value, key, mp)
        })
···
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力爬坑的小崔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值