【我不熟悉的javascript】map和weakmap的区别

news2025/1/21 10:25:13

map 保存键值对,并且能够记住键的原始插入顺序,任何值(对象或者基本类型)都可以作为一个键或一个值

  1. 基本方法有 get, set, has, delete, clear
  2. 长度 .size
  3. 迭代 keys, values, extries, forEach
  4. 可以使用for ...of 迭代
  5. 任何值(对象或者基本类型)都可以作为一个键或一个值

weakmap满足map的一切条件,但是

  1. 基本方法有get, has, set, delete
  2. 没有clear方法
  3. 不能通过size获取长度
  4. 不可以使用for...of迭代
  5. 键 只能是对象,值可以是任意类
  6. 相比map, weakmap有利于垃圾回收,参考

更多内容,请参考官方文档

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Mapicon-default.png?t=M85Bhttps://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Map

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/WeakMapicon-default.png?t=M85Bhttps://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/WeakMap

其实在实际开发过程中,一般的需求我们用object就能满足,map用的比较少!


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/105774.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何在头条做营销:2022今日头条营销价值洞察报告.pdf(附下载链接)

省时查报告-专业、及时、全面的行研报告库省时查方案-专业、及时、全面的营销策划方案库【免费下载】2022年11月份热门报告盘点《底层逻辑》高清配图华为2021数字化转型:从战略到执行.pdf华为项目管理金种子培训教材.pdf清华大学256页PPT元宇宙研究报告.pdf&#xf…

nn.AdaptiveAvgPool2d和nn.AvgPool2d的区别

nn.AdaptiveAvgPool2d 功能:该函数与二维平均池化运算类似,区别主要体现在自适应上,对于任何输入大小,输出大小均为指定的HW大小。 nn.AdaptiveAvgPool2d(output_size)output_size:指定的输出大小,可以是…

echarts-for-weixin只显示折线图,其他不显示解决办法

小程序使用echarts-for-weixin展示图表,结果只展示折线图,其他的统统不显示,百度大法一下午终于知道可能是echarts包内只有折线图。 下载好替换搞定!

【Vue 快速入门系列】3分钟掌握Vue中插槽的使用与理解

文章目录前言一、常规实现方式二、匿名插槽三、具名插槽四、作用域插槽前言 插槽作用:让父组件可以向子组件指定位置插入html结构,也是一种组件间通信的方式,适用于 父组件 > 子组件 。 插槽分类:默认插槽、具名插槽、作用域插…

docker部署solr+zk集群

在三台服务器上搭建solr集群,具体架构如下所示: 192.168.184.127 solr1/zk1 192.168.184.128 solr2/zk2 192.168.184.129 solr3/zk3 1.安装docker 三台服务器上都执行以下命令 # setenforce 0 # systemctl stop firewall…

代码随想录Day56|583.两个字符串的删除操作 、72.编辑距离、编辑距离总结篇

文章目录583.两个字符串的删除操作72.编辑距离编辑距离总结篇583.两个字符串的删除操作 文章讲解:代码随想录 (programmercarl.com) 题目链接:583. 两个字符串的删除操作 - 力扣(LeetCode) 题目: 给定两个单词 wor…

Flume EmbeddedAgent

flume flume 二次开发,对EmbeddedAgent的简易改造,动态控制agent,实现启动、关闭等功能。 模块结构如下所示: flume-parent github地址 1、用途 1.1、本地调试 对flume不是特别熟悉的开发者,都没有办法一次开发完…

消息队列mq

1. 为什么使用消息队列? 其实就是问问你消息队列都有哪些使用场景,然后你项目里具体是什么场景,说说你在这个场景里用消息队列是什么? 解耦、异步、削峰 2. 消息队列优缺点 2.1.优点 优点上面已经说了,就是在特殊…

并查集的原理及实现

Ⅰ. 并查集原理 在一些应用问题中,需要将 n 个不同的元素划分成一些不相交的集合。开始时,每个元素自成一个单元素集合,然后按一定的规律将归于同一组元素的集合合并。在此过程中要反复用到查询某一个元素归属于那个集合的运算。适合于描述这…

前端基础_线型Line styles

线型Line styles 线型包括如下属性。 lineWidth value lineCap type lineJoin type miterLimit value 通过这些属性来设置线的样式。下面将结合实例来讲解一下各属性的应用及应用后的效果。 lineWidth属性 该属性设置当前绘线的粗细,属性值必须…

ArcGIS编辑绘制图斑又慢又难?这些高效的处理技巧你值得拥有!

GIS画图是不是画得很慢! 图斑修改是不是无从下手! 图纸矢量化是不是琐碎繁杂、工作量大! 其实,强大的ArcGIS有很多高效的图斑编辑技巧,掌握这些技巧,无论是绘制图斑、还是修改图斑,还是图纸矢量化,绝对让你事半功倍! NO.1—自动完成面 当你要绘制一个图斑的相邻图…

华为云桌面,企业云上办公为何都偏好它?

在众多云上办公产品中,华为云桌面基于华为云的三十年投入的技术强、资源多、创新快和更可靠的优势,在众多云上办公产品中脱颖而出,成为众多企业数字化转型道路上不二选择,类似于三一重工、中泰模具、小飞侠等企业都选择了华为云桌…

非递归前序、中序遍历代码推演出后序遍历代码(极其透彻)

一、前言 众所周知,二叉树的遍历方式有三种:前序遍历、中序遍历和后序遍历。 🍌 前序遍历:首先访问根节点,然后递归遍历左子树,最后递归遍历右子树。 🍌 中序遍历:首先递归遍历左…

pypower的简单应用1

目录 一、背景描述 二、如何打开IEEE30节点并进行潮流计算 三、如何修改已有模型参数 四、完整代码 五、注意事项 pypower与matpower非常类似,可以利用matpower学习pypower,当然也有一些不同之处。下面记录一下应用pypower解决的问题。 一、背景描述…

Java优先队列的代码实现过程详解

1.优先队列定义 普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除。在某些情况下,我们可能需要找出队列中的最大值或者最小值,例如使用一个队列保存计算机的任务,一般情况下计算机的任务都是有优先…

《Python程序开发》期末作业

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 一、题目: 1 .选修课信息(1).xlsx,信息如下: 2 .学生选课信息表.xls,信息如下 3.任务 二、将文件中的信息导入数据库 …

脱水蔬菜开启蔬菜产业发展新道路 国内市场正不断扩大

根据观研报告网发布的《中国脱水蔬菜市场发展现状研究与投资前景预测报告(2022-2029年)》显示,脱水蔬菜又称复水菜,是将新鲜蔬菜经过洗涤、烘干等加工制作,脱去蔬菜中大部分水分后而制成的一种干菜,食用时只…

Netty实战与源码剖析(一)——浅谈NIO编程

1 前言 很久之前就想写与Netty相关的博客了,但由于个人时间安排的问题一直拖到了现在,借助这个机会,重新温习Java高级编程的同时,也把Netty实战以及源码剖析分享给各位读者。 2 Netty是什么? Netty is a NIO client …

Spring—Spring IOC

文章目录Spring IOC容器1. 什么是IOC2.IOC的核心原理IOC如何充当对象容器?具体什么作为对象容器?IOC的核心原理图3. IOC容器的底层原理IOC的实现,依赖于以下3门技术上边提到的三种技术如何实现IOC的呢?4.IOC(接口)————————…

官宣!CATCTF不日开赛!!

各位极客请注意! 2022.12.31 10:00—2023.01.01 17:00 攻防世界 x Nepnep x CATCTF 即将开赛 请做好参战准备! 本场赛事由攻防世界提供技术与平台支撑 部分赛题募集自各位爱猫人士 其他题目则由Nepnep的师傅们承包 赛事运维人员也将由志愿者师傅们…