当前位置: 首页 > article >正文

【ES6复习笔记】Map(14)

概念

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

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

声明 Map

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

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 方法接受两个参数:键和值。

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

获取元素数量

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

console.log(m.size);

删除元素

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

m.delete('name');

获取元素

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

console.log(m.get('change'));
console.log(m.get(key));

清空 Map

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

m.clear();

遍历 Map

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

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

完整代码示例

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

<!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>

http://www.kler.cn/a/452889.html

相关文章:

  • 使用Excel制作通达信自定义“序列数据“
  • Python Polars快速入门指南:LazyFrames
  • 每天五分钟机器学习:核函数
  • AppAgent 源码 (xml 解析)
  • 基于Springboot的在线问卷调查系统【附源码】
  • 后端-redis
  • YOLO11改进-模块-引入星型运算Star Blocks
  • 在vscode中的ESP-IDF插件中使用Arduino框架作为组件
  • 鸿蒙-什么是Ability Kit
  • 人才画像系统如何支撑企业的人才战略落地
  • 【React 基础及高级用法】
  • Docker安装Neo4j
  • SQL进阶技巧:如何求解最大矩形面积问题? | LeetCode 84- 柱状图中最大的矩形
  • 【GD32】从零开始学GD32单片机 | DAC数模转换器 + 三角波输出例程
  • 浅谈TARA在汽车网络安全中的关键角色
  • adb 安装教程
  • nginx-rewrite(多种实现方法)
  • 从一次线上故障聊聊接口自动化测试
  • QT创建一个模板槽和信号刷新UI
  • 《计算机网络(第7版)-谢希仁》期末考试复习题和答案(总结整理)
  • python file seek tell
  • 【2025最新计算机毕业设计】新型吃住玩一体化旅游管理系统【提供源码+答辩PPT+文档+项目部署】
  • 金仓数据库安装-Kingbase v9-centos
  • STM32串口无法正常中断
  • Spring Boot 中 WebClient 的实践详解
  • Go C编程 第6课 无人机 --- 计算旋转角