分享

7、JS中的Map对象

 yuxinrong 2023-03-05 发布于安徽

前面几节介绍的都是Set对象,今天开始介绍下Map对象。

通常,我们将Set称作集合,Map称作映射,它们都是JS中的数据结构,有些属性和方法也差不多,不同点在于:Map中装的是键值对,所谓映射,也就是一个键名映射一个键值,Set中装的是元素,类似于数组,不管是Set还是Map,里面的元素或者是键名同都是不能重复的,Set是一种集合类型的数据结构,Map是一种字典类型的数据结构。

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

下面介绍下Map对象的属性和方法。

一、如何创建Map

// 创建对象
const apples = {name: 'Apples'};
const bananas = {name: 'Bananas'};
const oranges = {name: 'Oranges'};

// 创建新的 Map
const fruits = new Map();

// Add new Elements to the Map
fruits.set(apples, 500);
fruits.set(bananas, 300);
fruits.set(oranges, 200);

以上实例体现Map中的键可以是对象,向Map中添加键值对时使用set方法,注意区别Set和set,向Set集合中添加元素用add方法。

当然也可以直接在Map中写键值对:

// 创建对象
const apples = {name: 'Apples'};
const bananas = {name: 'Bananas'};
const oranges = {name: 'Oranges'};

// 创建新的 Map
const fruits = new Map([;
[apples, 500],
[bananas, 300],
[oranges, 200]
]);

二、获取键值

利用get() 方法获取 Map 中键的值,比如我们要获取上例中apple对象对应的键值:

fruits.get(apples);    // 返回 500

注意,上例中键名apple是一个对象,书写时不要和字符串”apple“混淆:

fruits.get("apples");  // 返回 undefined

三、其它方法和属性

其他 Map() 方法

方法描述
clear()删除 Map 中的所有元素。
delete()删除由键指定的元素。
has()如果键存在,则返回 true。
forEach()为每个键/值对调用回调。

Map() 属性

属性描述
size获取 Map 中键的值。

类似于Set的方法和属性,下节我们通过实例来熟悉下Map映射的具体应用。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多