JS中的 Map

本文详细介绍了JavaScript中的Map数据结构,包括其含义、基本用法、实例方法和属性,以及与Object的区别。Map提供了键值一一对应的模式,允许使用任意类型作为键,解决了Object的一些限制。此外,文中还探讨了Map的内存占用、插入性能、查找速度和删除性能,以帮助开发者在Object和Map之间做出选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下是我学习整理的相关Map笔记!方便以后复习和回顾 嘿嘿~ 如果有哪里错误的或者不合适的欢迎各位看官指正!!鞠躬~

1.1 含义及基本用法

首先哈,在ECMAScript 6 以前,JS对象就实现了用“键 / 值”的方式来存储,也就是使用 对象属性 作为键,再用 属性 来引用值。

看个例子:

js对象,键值对的集合(Hash结构),传统上只把 字符串 当做键!!!另外还有 数值,符号。

const data = {} // 定义一个对象
const oDiv = document.getElementById('box');  // 指向的就是id名<div id = 'box'></div>

data[oDiv] = 'abc'; // 获取 oDiv 作为键 并 赋值

赋完值之后,由于对象只接收 字符串 作为键名!!!
所以oDiv会自动转换:
oDiv  --->  '[object HTMLDivElement]'  // 转化成字符串
 就是因为这个原因,所以它受到了限制,所以为了解决这个问题,就出现了Map。

为了解决此问题,ECMAScript 6 提供了 Map 数据结构,类似于对象,也是键值对的集合。但是,“键”的范围不限于 字符串。与 Object 只能使用数值,字符串或符号作为键不同,Map 可以使用任何JavaScript数据类型作为键Map的大多数特性都可以通过Object类型实现,但二者之间还是存在一些细微的差别,具体实践使用哪一个,还需细细甄别)

Map 结构 ,提供了 键值 一 一对应的模式,这样更能够完美的体现 Hash结构 ,如果说你需要一个键值对的数据,那么 Map 肯定要比 Object 更合适!

例子:

<script>

//Map 是一个构造函数 
     const a = new Map(); // 实例化一个对象
     const b = {c:"hello"}; 

// 用set方法 a.set(把...作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值