【ES6复习笔记】Map(14)

概念

Map 是 JavaScript 中的一种数据结构,它允许你存储键值对,并且可以通过键来访问对应的值。在本教程中,我们将学习如何声明、添加、删除、获取和遍历 Map 集合。

ES6 提供了 Map 数据结构。它类似于对象,也是键值对的集合。但是 "键" 的范围不限于字符串,各种类型的值(包括对象)都可以当作键。Map 也实现了 iterator 接口,所以可以使用『扩展运算符』和「for...of...』进行遍历。Map 的属性和方法。

声明 Map

首先,我们需要声明一个 Map 对象。在 JavaScript 中,你可以使用 new Map() 来创建一个新的 Map 实例。

javascript 复制代码
let m = new Map();

Map的属性和方法:

  1. size:返回Map的元素个数。
  2. set(key, value):增加一个新元素,返回当前Map。
  3. get(key):返回键名对象的键值。
  4. has(key):检测Map中是否包含某个元素,返回boolean值。
  5. clear():清空集合,返回undefined。

添加元素

你可以使用 set 方法向 Map 中添加元素。set 方法接受两个参数:键和值。

javascript 复制代码
m.set('name', '星达网络');
m.set('change', function() {
    console.log("我们可以改变你!!");
});
let key = {
    school: 'xkadmin'
};
m.set(key, ['北京', '上海', '深圳']);

获取元素数量

你可以使用 size 属性来获取 Map 中元素的数量。

javascript 复制代码
console.log(m.size);

删除元素

你可以使用 delete 方法从 Map 中删除指定的键值对。

javascript 复制代码
m.delete('name');

获取元素

你可以使用 get 方法获取 Map 中指定键的值。

javascript 复制代码
console.log(m.get('change'));
console.log(m.get(key));

清空 Map

你可以使用 clear 方法清空 Map 中的所有元素。

javascript 复制代码
m.clear();

遍历 Map

你可以使用 for...of 循环来遍历 Map 中的所有键值对。

javascript 复制代码
for(let v of m) {
    console.log(v);
}

完整代码示例

下面是一个完整的代码示例,展示了如何使用 Map 集合。

javascript 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Map</title>
</head>
<body>
    <script>
        //声明 Map
        let m = new Map();

        //添加元素
        m.set('name', '星达网络');
        m.set('change', function() {
            console.log("我们可以改变你!!");
        });
        let key = {
            school: 'xkadmin'
        };
        m.set(key, ['北京', '上海', '深圳']);

        //size
        console.log(m.size);

        //删除
        m.delete('name');

        //获取
        console.log(m.get('change'));
        console.log(m.get(key));

        //清空
        // m.clear();

        //遍历
        for(let v of m) {
            console.log(v);
        }

        // console.log(m);

    </script>
</body>
</html>
相关推荐
光影少年5 分钟前
Polyline 组件如何绘制渐变区域?
前端·javascript·掘金·金石计划
Pkmer5 分钟前
古法编程: React思维模型快速建立
前端·react.js
喝醉酒的小白13 分钟前
Elasticsearch 故障分析笔记:Pending Tasks 堆积与 Alias 风暴
笔记·elasticsearch
Cathy Bryant21 分钟前
微分几何:曲面与坐标系
笔记·矩阵·高等数学·物理学·微分几何
jiayong2330 分钟前
第 38 课:任务列表里高亮当前正在查看详情的任务
开发语言·前端·javascript·vue.js·学习
中屹指纹浏览器34 分钟前
2026浏览器指纹追踪的合规边界与隐私优先的反检测技术落地框架
经验分享·笔记
阿Y加油吧35 分钟前
算法实战笔记:LeetCode 31 下一个排列 & 287 寻找重复数
笔记·算法·leetcode
就叫飞六吧37 分钟前
基于googleshell下载文件/资源
笔记
anOnion1 小时前
构建无障碍组件之Spinbutton Pattern
前端·html·交互设计
lwf0061641 小时前
逻辑回归学习笔记-数学直接解回归方程
笔记·学习·逻辑回归