JS中Map对象与object的区别

若想了解Map对象可以阅读本人这篇ES6初步了解Map
Map对象与object有什么区别?让我为大家介绍一下吧!

共同点

二者都是以key-value的形式对数据进行存储

		const obj = {name:"zs",age:18}console.log(obj)let m = new Map()m.set("name","zs")m.set("age",18)console.log(m)

在这里插入图片描述

不同点

1.key的数据类型范围不同,obj可以作为key的仅有number、string、symbol,map均可以

		const obj = {name:"zs",age:18,[Symbol("11")]:"22"}console.log(obj)let m = new Map()m.set("name","zs")m.set("age",18)m.set(Symbol("11"),22)m.set([1,2,3],33)m.set({},33)console.log(m)

在这里插入图片描述
2.key的顺序不同,obj通过obj.keys()打印出来的属性顺序是 number–字符串,map的key顺序是声明顺序。
在这里插入图片描述

在这里插入图片描述
3.创建方式不同。obj有三种创建方式 字面量{}、new Object() 、构造函数。map仅支持new Map()
obj的创建方式:

        const obj = {name:"zs",age:18}console.log(obj)// 2.new Objectlet obj1 = new Object()console.log(obj1)// 3.构造函数function Person(name,age){this.name = namethis.age = age}let obj2 = new Person("zs",18)console.log(obj2)

在这里插入图片描述
Map对象的创建方式:

let m = new Map()

在这里插入图片描述
4. key的调用不同。 map只能用原生的get方法调用。

        const obj = {name:"zs"}console.log(obj["name"]) //zslet m = new Map()m.set("name","ls")console.log(m.get("name")) //ls

5.设置属性的方式不同。map只能使用set(key,val)方法设置属性。

		const obj = {}obj["name"] = "zs"console.log(obj)let m = new Map()m.set("name","ls")console.log(m)

在这里插入图片描述

6.Size属性。map有size属性,对象没有。Map.size 返回 Map 中元素的数量,而 Object 的键值对个数只能手动计算

        let m = new Map()m.set("name","ls")m.set("age",18)console.log(m.size) //2

感谢大家的阅读,如有不对的地方,可以向我提出,感谢大家!

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

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

相关文章

《深入理解计算机系统》学习笔记 - 第三课 - 浮点数

Floating Point 浮点数 文章目录 Floating Point 浮点数分数二进制示例能代表的数浮点数的表示方式浮点数编码规格化值规格化值编码示例 非规格化的值特殊值 示例IEEE 编码的一些特殊属性四舍五入,相加,相乘四舍五入四舍五入的模式二进制数的四舍五入 浮…

带负离子的高速吹风筒方案介绍---【其利天下技术】

负离子吹风筒的产品概念,在吹风筒的产品系列里早就存在的。近年来,随着高速风筒的逐渐普及,产品商都开始把这些产品概念带了进来。一方面提升产品的核心竞争力,另一方面也是为了提升产品体验度,给用户带来不一样的产品…

夯实c基础

夯实c基础 区别: 图一的交换,(交换的是地址而不是两数)无法实现两数的交换。 题干以下程序的输出结果为( c  )。 void fun(int a, int b, int c){ ca*b; } void main( ){ int…

ssh安装和Gitee(码云)源码拉取

文章目录 安装ssh服务注册码云公钥设置码云账户SSH公钥安装git客户端和git-lfs源码获取 安装ssh服务 更新软件源: sudo apt-get update安装ssh服务 sudo apt-get install openssh-server检查ssh是否安装成功 which ssh输出: /usr/bin/ssh启动ssh 服…

虾皮定价公式:如何在Shopee上为您的商品设置合适的价格?

在Shopee这样的电商平台上销售商品,定价是一个至关重要的因素。一个合理的定价策略不仅可以吸引更多的买家,还可以确保您从每个商品中获得足够的利润。虾皮(Shopee)为卖家提供了一个简化的定价公式,考虑了多个因素&…

浅析AI智能视频监控技术在城市交通中的作用及意义

城市交通作为整个城市的整体脉络,每天都发挥着重要作用,为了最大程度地避免城市交通堵塞、提高城市交通效率,智能视频监控系统发挥了重要作用。具体表现在以下几个方面: 1、交通违规监管:TSINGSEE青犀智能视频监控系统…

【JavaScript】JS——Map数据类型

【JavaScript】JS——Map数据类型 什么是Map?特性Map与Object的比较 map的创建map的属性map相关方法map的遍历 什么是Map? 存储键值对的对象。 能够记住键的原始插入顺序任何值(对象或原始值)都可以作为键或值。 特性 Map中的一个键只能出现一次&am…

【三维重建】多频外差相位展开(C++实现)

在结构光三维重建中,通过相移法求解出来的相位是包裹相位(在 [-π/2,π/2] 间成周期性 ) 我们想要用相位找到相机与投影仪间的对应像素,就需要进行相位展开,确保每一行的相位值是唯一的。 多频外差是相位…

JVM虚拟机(已整理,已废弃)

# JVM组成 ## 简述程序计数器 线程私有,内部保存class字节码的行号。用于记录正在执行的字节码指令的地址。 线程私有-每个线程都有自己的程序计数器PC,用于记录当前线程执行哪个行号 ## 简述堆 ## 简述虚拟机栈 ## 简述堆栈区别 ## 方法内局部变量是…

SRC挖掘漏洞XSS

Markdown是一种轻量级标记语言,创始人为约翰格鲁伯(John Gruber)。它允许人们使用易读易写的纯文本格式编写文档,然后转换成有效的 XHTML(或者HTML)文档。这种语言吸收了很多在电子邮件中已有的纯文本标记的…

Ubuntu宝塔面板本地部署轻论坛系统HadSky并远程访问

文章目录 前言1. 网站搭建1.1 网页下载和安装1.2 网页测试1.3 cpolar的安装和注册 2. 本地网页发布2.1 Cpolar临时数据隧道2.2 Cpolar稳定隧道(云端设置)2.3 Cpolar稳定隧道(本地设置)2.4 公网访问测试 总结 前言 经过多年的基础…

5.C转python

新始: 13.列表可被改变(数据),元组不可被改变(数据),二者皆与C中的数组的大致相同 14.创建列表方法: 1.一个[ ]就是一个空的列表 2.使用list函数来创建列表 如: 15.可以在[ ]内部指定列表的初始值,打印方法: 如: 16.在python中,在同一个列表中,可以放不同类型的变量(也可…

Vector Quantized Diffusion Model for Text-to-Image Synthesis

Vector Quantized Diffusion Model for Text-to-Image Synthesis Shuyang Gu, University of Science and Technology of China, Microsoft, CVPR2022, Cited: 340, Code, Paper 1. 前言 我们提出了用于文本到图像生成的矢量量化扩散(Vector Quantized Diffusion Model&…

银河麒麟服务器部署Prometheus+Grafana

#年薪百万# 一、环境准备 操作系统:Operating System: Kylin Linux Advanced Server V10 (Sword) (X86-64) prometheus:prometheus-2.48.0.linux-amd64 grafana:grafana-enterprise-10.2.2.linux-amd64 node_exporter:node_expor…

uni-app 微信小程序之自定义中间圆形tabbar

文章目录 1. 自定义tabbar效果2. pages新建tabbar页面3. tabbar 页面结构4. tabbar 页面完整代码 1. 自定义tabbar效果 2. pages新建tabbar页面 首先在 pages.json 文件中,新建一个 tabbar 页面 "pages": [ //pages数组中第一项表示应用启动页&#xff…

hive sql子单元查找组合单元信息

1. 背景 店铺卖东西,会将一部分子商品(单个商品,sku 粒度)打包到一起,变成一个组合商品去售卖。 用户买东西,可能会买多个组合商品。 数仓这边拿到的数据,全是已经拆分到子商品的订单商品数据…

Ubuntu宝塔面板本地部署Emlog个人博客网站并远程访问【内网穿透】

文章目录 前言1. 网站搭建1.1 Emolog网页下载和安装1.2 网页测试1.3 cpolar的安装和注册 2. 本地网页发布2.1 Cpolar临时数据隧道2.2.Cpolar稳定隧道(云端设置)2.3.Cpolar稳定隧道(本地设置) 3. 公网访问测试总结 前言 博客作为使…

DDoS高防IP到底是什么?

DDoS高防IP是提供一个带防御的IP,主要是针对网络中的DDoS攻击进行保护,是针对互联网服务器遭受大流量的DDoS攻击后,导致服务不可用的情况下,用户可以通过配置高防IP,将攻击流量引流到高防IP上,从而确保源站…

面试华为测试岗,收到offer后我却毫不犹豫拒绝了....

我大学学的是计算机专业,毕业的时候,对于找工作比较迷茫,也不知道当时怎么想的,一头就扎进了一家外包公司,一干就是2年。我想说的是,但凡有点机会,千万别去外包! 在深思熟虑过后&am…

圣诞将至—C语言圣诞树代码来啦

文章目录 圣诞将至—C实现语言圣诞树源码 圣诞将至—C实现语言圣诞树 圣诞树 源码 #define _CRT_SECURE_NO_WARNINGS#include <stdio.h> #include <math.h> #include <stdlib.h> #include <windows.h> #include <time.h> #define PI 3.14159265…