iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >es6中map指的是什么意思
  • 406
分享到

es6中map指的是什么意思

2024-04-02 19:04:59 406人浏览 安东尼
摘要

这篇文章将为大家详细讲解有关es6中map指的是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 在es6中,map是一种数据结构,是“

这篇文章将为大家详细讲解有关es6中map指的是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

在es6中,map是一种数据结构,是“key-value”的集合,key可以是任意类型的数据;map提供了“值与值”的对应,是一种更完善的hash结构实现,语法为“new Map([iterable])”。

教程操作环境:windows10系统、ECMAScript 6.0版、Dell G3电脑。

es6中的map是什么意思

什么是Map

之前 ES5 中是没有 Map 这种数据集合的,ES6才把它添加进来了。

Map 是 key-value 的集合,key 可以是任意类型的数据,类似于对象,但对象的 key 只能是字符串

ES6 提供了 Map 数据结构。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。

也就是说,Object 结构提供了“字符串—值”的对应,Map 结构提供了“值—值”的对应,是一种更完善的 Hash 结构实现。

如果你需要“键值对”的数据结构,Map 比 Object 更合适。

语法

new Map([iterable])

Iterable 可以是一个数组或者其他 iterable 对象,其元素为键值对(两个元素的数组,例如: [[ 1, 'one' ],[ 2, 'two' ]])。

每个键值对都会添加到新的 Map。

null 会被当做 undefined。

Object 和 Map 的比较:

Objects 和 Maps 类似的是,它们都允许你按键存取一个值、删除键、检测一个键是否绑定了值。因此(并且也没有其他内建的替代方式了)过去我们一直都把对象当成 Maps 使用。不过 Maps 和 Objects 有一些重要的区别,在下列情况里使用 Map 会是更好的选择

  • 一个Object的键只能是字符串或者 Symbols,但一个 Map 的键可以是任意值,包括函数、对象、基本类型。

  • Map 中的键值是有序的,而添加到对象中的键则不是。因此,当对它进行遍历时,Map 对象是按插入的顺序返回键值。

  • 你可以通过 size 属性直接获取一个 Map 的键值对个数,而 Object 的键值对个数只能手动计算。

  • Map 可直接进行迭代,而 Object 的迭代需要先 获取它的键数组,然后再进行迭代。

  • Object 都有自己的原型,原型链上的键名有可能和你自己在对象上的设置的键名产生冲突。虽然 ES5 开始可以用 map = Object.create(null) 来创建一个没有原型的对象,但是这种用法不太常见。

  • Map 在涉及频繁增删键值对的场景下会有些性能优势。

示例如下:

// 字符串作为key,和js对象类似
var map = new Map()
// set
map.set('name', 'John')//两个参数,分为对应map中key,value,  推进去的时候会自动检查类型,Object,String,Array等l
map.set('age', 29)
// get
map.get('name') // John
map.get('age')  // 29
这么对代码,看起来确实没有JS对象简洁
但Map的强大之处在于它的key可以是任意类型
// 对象作为key演示
var xy = {x: 10, y: 20}   // 坐标
var wh = {w: 100, h: 200} // 宽高
var map = new Map()
// set
map.set(xy, '坐标')
map.set(wh, '宽高')
// get
map.get(xy) // '坐标'
map.get(wh) // '宽高'

结果:

es6中map指的是什么意思

关于“es6中map指的是什么意思”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: es6中map指的是什么意思

本文链接: https://www.lsjlt.com/news/97181.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • es6中map指的是什么意思
    这篇文章将为大家详细讲解有关es6中map指的是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 在es6中,map是一种数据结构,是“...
    99+
    2022-10-19
  • es6中yield指的是什么意思
    小编给大家分享一下es6中yield指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 在...
    99+
    2022-10-19
  • es6中三个点指的是什么意思
    这篇文章给大家分享的是有关es6中三个点指的是什么意思的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 在es6中,三个点“...”指的是“扩展运算符”...
    99+
    2022-10-19
  • es6生成器指的是什么意思
    这篇文章将为大家详细讲解有关es6生成器指的是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 在es6中,生成器是设置迭代器的一个函数...
    99+
    2022-10-19
  • php中.=指的是什么意思
    这篇文章主要为大家展示了“php中.=指的是什么意思”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“php中.=指的是什么意思”这篇文章吧。php中“.=”表示赋值运算符,是字符串连接的意思,该运...
    99+
    2023-06-25
  • php中=指的是什么意思
    小编给大家分享一下php中=指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php中=符号是PHP中的基础赋值运算符,赋值形式如“z=x+y”,这意味...
    99+
    2023-06-21
  • python中+=指的是什么意思
    小编给大家分享一下python中+=指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!python中+=的意思:1、两个值相加,返回值给符号左侧的变量;...
    99+
    2023-06-06
  • JavaScrip中=指的是什么意思
    小编给大家分享一下JavaScrip中=指的是什么意思,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!JavaScript是什么JavaScript是一种直译式的脚本语言,其解释器被称为JavaScript引擎,是浏览器的一...
    99+
    2023-06-14
  • python中**指的是什么意思
    这篇文章主要介绍python中**指的是什么意思,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在python中,“**”表示幂运算,只需要在两数之间用上“**”,就表明这两个数字进行乘方运算;其中第一操作数为底数,第...
    99+
    2023-06-14
  • javascript中$指的是什么意思
    小编给大家分享一下javascript中$指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!javascript中“$”的意思:1、“$”可以用来表示变...
    99+
    2023-06-14
  • python中==指的是什么意思
    小编给大家分享一下python中==指的是什么意思,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!Python的优点有哪些1、简单易用,与C/C++、Java、C# 等传统语言相比,Python对代码格式的要求没有那么严格;...
    99+
    2023-06-14
  • python中@指的是什么意思
    这篇文章主要介绍了python中@指的是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。python主要应用领域有哪些1、云计算,典型应用OpenStack。2、WEB...
    99+
    2023-06-14
  • python中 *= 指的是什么意思
    这篇文章将为大家详细讲解有关python中 *= 指的是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。python有哪些常用库python常用的库:1.requesuts;2.scrapy;3.p...
    99+
    2023-06-14
  • php中.= 指的是什么意思
    小编给大家分享一下php中.= 指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!.=在php中是一种赋值运算符,用于连接两个字符串,比如表达式“a ....
    99+
    2023-06-26
  • javascript中$是指什么意思
    小编给大家分享一下javascript中$是指什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!JavaScript可以做什么1.可以使网页具有交互性,例如响...
    99+
    2023-06-14
  • JVM指的是什么意思
    这篇文章将为大家详细讲解有关JVM指的是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Java虚拟机(JVM)是可运行Java代码的假想计算机。只要根据JVM规格描述将解释器移植到特定的计算机上,...
    99+
    2023-06-03
  • xps指的是什么意思
    小编给大家分享一下xps指的是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!xps是XML Paper Specification即XML文件规格书的简称...
    99+
    2023-06-06
  • chrome指的是什么意思
    这篇文章主要介绍了chrome指的是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。chrome是Google公司开发的一款网页浏览器。Chrome在设计术语中的意思是...
    99+
    2023-06-08
  • ide指的是什么意思
    这篇文章将为大家详细讲解有关ide指的是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。ide全称“Integrated Development Environment”,中文意思为“集成开发环境”...
    99+
    2023-06-14
  • html指的是什么意思
    这篇文章将为大家详细讲解有关html指的是什么意思,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。html的英文全称是“Hyper Text Markup Language”,表示超文本标记语言,是一种标记...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作