【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>
相关推荐
mCell3 小时前
AI 时代 SVG 画图的潜力
前端·agent·svg
青山是哪个青山9 小时前
LangChain 学习笔记(四):Message 与提示词模板
笔记·学习·langchain
我命由我123459 小时前
CesiumJS 笔记 - 获取容器中心点、Cartesian3 clone 方法、修改 Cartesian3 对象的高度
前端·javascript·css·前端框架·html·html5·js
Hopebearer_10 小时前
页面突然只剩 DOM?一次静态资源版本错配排查
前端·部署
东风破_10 小时前
ESLint 是什么?为什么你的项目需要它?
前端·后端·代码规范
圣殿骑士-Khtangc12 小时前
Go字符串高效拼接性能对比与底层原理分析
服务器·前端·golang
Shell运维手记12 小时前
Linux 常用基础命令学习笔记
linux·运维·笔记·学习·算法·github
BigTopOne12 小时前
【ijkplayer】 硬解码流程
前端
FakeOccupational13 小时前
【电路笔记 STM32】Cortex-M7 内核上的数据缓存(D-Cache)结构+MPU+DMA&Cache+STM32CubeMX配置
笔记·stm32·缓存
动词ing13 小时前
【学习笔记】C语言(数组指针与指针数组+字符数组+函数+参数传递+字符串作为形参+递归函数+指针函数+回调函数+结构体嵌套+内存动态分配函数)
c语言·笔记·学习