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

JS之Map的基本使用

一、Map的基本API

  • 创建: const map = new Map()
  • 插入:map.set("name", "郑建")
  • 读取:map.get("name")
  • 判断:map.has("name")
  • 删除:map.delete
  • 大小:map.size
  • 遍历:for of / forEach

二、创建

 const map = new Map()

三、插入

const map = new Map()
map.set("name", "郑建")  // 字符串作为keyconst functionKey = function() {}
map.set(functionKey, "函数做key")  // 函数做为keyconst objKey = {}
map.set(objKey, "对象做key")  // 对象做为key

 结果:

四、读取

map.get("name")  // "郑建"
map.get(functionKey)  // "函数做key"
map.get(objKey)  // "对象做key"

五、判断

map.has("name")

结果:

 

六、大小

map.size

结果:

 七、删除

map.delete("name")

结果:

八、遍历

1、for of

for (const it of map) {console.log(it)
}

结果:

 2、forEach

map.forEach((value, key) => {console.log(value, key)
})

结果:

 九、Map和Object之间的选择

提问:既然有了Object为什么还要弄一个Map呢?他们是不是有病?

从四个方向去选择:

内存占用: 不同浏览器有明显差异,但给定固定大小内存,Map能比Object多存储50%的键值对。

                    遇到大体量结构化数据,选择Map

插入性能 Map性能稍微好一点,特别涉及大量插入操作,尤为明显,选择Map

查找性能性能相当,但在少量“键/值对”的情况下,浏览器引擎会对Object有相关的优化策略,选择Object

删除性能:Map性能优势明显,而且利用delete删除Object属性仅仅只是解除绑定,内存没有释放,并不是真正的删除,而且会破环V8引擎中的线性结构快属性,极大降低访问性能,毫无疑问选择Map

http://www.lryc.cn/news/62197.html

相关文章:

  • 音视频八股文(6)-- ffmpeg大体介绍和内存模型
  • 4.25~~~~~
  • Android 9.0 系统设置显示主菜单添加屏幕旋转菜单实现旋转屏幕功能
  • Python数据结构与算法-欧几里算法(p95)
  • 【故障诊断】用于轴承故障诊断的性能增强时变形态滤波方法及用于轴承断层特征提取的增强数学形态算子研究(Matlab代码实现)
  • 水羊转债,超达转债,晓鸣转债上市价格预测
  • 从数据管理到数据资产管理
  • RabbitMQ【#1】是什么,有什么用
  • RabbitMQ防止消息丢失
  • ImageJ用户手册——第二部分(ImageJ操作)
  • Java中Lambda表达式(面向初学者)
  • 2023年淮阴工学院五年一贯制专转本数字电子技术考试大纲
  • 使用 GO 编写 Web 应用:学习如何使用 GO 语言编写 Web 应用,包括使用 HTTP 路由、模板引擎等。
  • Leetcode-day4【88】【167】【125】【345】
  • 【IoT】如何使用软件加密(文件夹加密工具.exe),并破解工具
  • Spring Boot——优雅的参数校验
  • 【c语言】typedef的基本用法 | 定义格式
  • 深度学习论文分享(二)Data-driven Feature Tracking for Event Cameras
  • 蛇优化算法
  • 循环神经网络(RNN)简单介绍—包括TF和PyTorch源码,并给出详细注释
  • Struts2 快速入门
  • 关于PullToRefreshView下拉刷新失效问题
  • JAVA开发中的六大原则
  • Matplotlib 安装
  • CF - Li Hua and Pattern
  • 重磅!阿里云云原生合作伙伴计划全新升级:加码核心权益,与伙伴共赢新未来
  • OSCP-Escape(gif绕过)
  • iMazing2023最新免费版iOS设备管理软件
  • Git上传文件代码到GitHub
  • JavaScript概述二(Date+正则表达式+Math+函数+面向对象)