返回顶部
首页 > 资讯 > 精选 >ES6新数据结构Map功能如何用
  • 850
分享到

ES6新数据结构Map功能如何用

2023-06-17 09:06:08 850人浏览 薄情痞子
摘要

这篇文章主要介绍“es6新数据结构Map功能如何用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“ES6新数据结构Map功能如何用”文章能帮助大家解决问题。新数据结构Mapjavascript中对象的

这篇文章主要介绍“es6数据结构Map功能如何用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“ES6新数据结构Map功能如何用”文章能帮助大家解决问题。

新数据结构Map

javascript中对象的本质是键值对的集合,但是键只能是字符串。为了弥补这种缺憾,ES6带来了一种新的数据结构Map。Map也是键值对的集合,只是键不仅可以是字符串还可以是其他数据类型,比如:对象(是不是很神奇)。请看下面例子。

var m = new Map();var ul = document.getElementsByTagName('ul');m.set(ul,'hi');console.log(m.get(ul)); //hi

对于Map的操作有以下几个:

m.set(ul,'content'); //为Map增加成员m.get(ul);//获取键 ul对应的值m.has(ul);//返回布尔值,判断是否含有键 ulm.delete(ul);//删除键 ul,成功返回true,失败返回falsem.size //返回m长度m.clear(); //清除m所有成员

直接为Map赋初值的方法:

var m = new Map([[li_1,'hello'],[li_2,'world']]);

接受的参数为一个数组,数组内的成员是表示一个一个键值对的数组。如果你蒙了,请看上行代码的实际执行情况:

var li_1 = document.getElementsByTagName('li')[0];var li_2 = document.getElementsByTagName('li')[1];var list = [ [li_1,'hello'] , [li_2,'world'] ];var m = new Map();list.forEach( ([key,value]) => m.set(key,value) );console.log(m.get(li_1)); //hello

如果对一个键多次赋值,后面的值会覆盖前面的值。值得注意的是,当键是对象时,必须是引用相同,才认为键是相同的。下面介绍Map的遍历方法。

var ul = document.getElementsByTagName('ul');var li_1 = document.getElementsByTagName('li')[0];var li_2 = document.getElementsByTagName('li')[1];var list = [ [li_1,'hello'] , [li_2,'world'] ];var m = new Map();list.forEach( ([key,value]) => m.set(key,value) );for ( let key of m.keys() ){  console.log(key);}for ( let val of m.values() ){  console.log(val);}for ( let item of m.entries() ){  console.log(item[0],item[1]);}for ( let [key,val] of m.entries() ){  console.log(key,val);}m.forEach( function( val , key , ul ){  console.log( this ); //ul  console.log( val , key);} , ul ); // forEach的第二个参数用于改变匿名函数中this指向

Map与其他数据类型的转换

Map转数据的最简单方式是使用 ... 扩展运算符。例如:

console.log( ...m ); //[li, "hello"] [li, "world"]

Map转对象时,必须所有键都是字符串,使用Object.create()函数。Map转JSON时,要求也要求所有键都是字符串,使用jsON.Stringify()函数。

关于“ES6新数据结构Map功能如何用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: ES6新数据结构Map功能如何用

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

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

猜你喜欢
  • ES6新数据结构Map功能如何用
    这篇文章主要介绍“ES6新数据结构Map功能如何用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“ES6新数据结构Map功能如何用”文章能帮助大家解决问题。新数据结构MapJavaScript中对象的...
    99+
    2023-06-17
  • ES6新数据结构Map功能怎么用
    这篇文章主要介绍ES6新数据结构Map功能怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体如下:新数据结构MapJavaScript中对象的本质是键值对的集合,但是键只能是字...
    99+
    2024-04-02
  • ES6新数据结构Set与WeakSet怎么用
    这篇文章主要介绍ES6新数据结构Set与WeakSet怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!新数据结构Set与WeakSet1. SetSet类似于数据,但是成员值都是...
    99+
    2024-04-02
  • ES6中Set和Map数据结构的示例分析
    这篇文章主要介绍了ES6中Set和Map数据结构的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。ES6 的 Set:ES6 提供了新...
    99+
    2024-04-02
  • 新增的es6数据结构是什么
    本文小编为大家详细介绍“新增的es6数据结构是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“新增的es6数据结构是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 ...
    99+
    2024-04-02
  • Map和Set两种数据结构在ES6的作用是什么
    这篇文章主要介绍“Map和Set两种数据结构在ES6的作用是什么”,在日常操作中,相信很多人在Map和Set两种数据结构在ES6的作用是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望...
    99+
    2024-04-02
  • c++ 数据结构map的使用详解
    目录map的常用用法 1. 头文件2. 定义 3. map 容器内元素的访问 (1)通过下标访问 (2)通过迭代器访问 (3)通过逆向迭代器访问4. map 元素的插入 5. map...
    99+
    2024-04-02
  • ES6如何实现解构赋值功能
    这篇文章给大家分享的是有关ES6如何实现解构赋值功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体如下:(1)交换变量的值[x, y] = [y...
    99+
    2024-04-02
  • 如何在Golang中有效修改Map数据结构
    在Golang中,Map是一种非常常用的数据结构,它能够存储键值对,并提供快速的查找功能。在使用Map时,经常会遇到需要修改Map中的数据的情况。但是在修改Map数据时,需要注意一些细...
    99+
    2024-03-02
    - map修改 - 数据结构 键值对
  • ES6如何使用Async/Await结合数组解构
    这篇文章将为大家详细讲解有关ES6如何使用Async/Await结合数组解构,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Async/Await结合数组解构数组解构非常赞...
    99+
    2024-04-02
  • node怎么利用Map数据结构去重
    这篇文章主要介绍node怎么利用Map数据结构去重,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!利用Map数据结构去重创建一个空Map数据结构,遍历需要去重的数组,把数组的每一个元素...
    99+
    2024-04-02
  • 如何在c++中使用map结构
    如何在c++中使用map结构?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。map的常用用法map 表示映射,可以将任何基本类型(包括 STL 容器)映射到任何基本类型(包括 S...
    99+
    2023-06-14
  • 如何使用Redis和Lua开发分布式数据结构功能
    如何使用Redis和Lua开发分布式数据结构功能在现代分布式系统中,数据结构的管理是一个重要的方面。Redis作为一款高性能的缓存数据库,通过支持多种数据结构,为我们提供了强大的功能。而Lua作为一种轻量级脚本语言,与Redis的高可扩展性...
    99+
    2023-10-22
    redis lua 分布式数据结构
  • 如何利用Redis和Scala开发分布式数据结构功能
    如何利用Redis和Scala开发分布式数据结构功能概述:随着互联网规模的扩大以及应用场景的增多,对于分布式系统的需求也日益增长。Redis是一款开源的内存数据库,具有高性能、高可用性和分布式功能,因此被广泛应用于构建分布式系统。Scala...
    99+
    2023-10-22
    redis scala 分布式数据结构
  • 数据库如何使用C++数据结构
    本篇文章为大家展示了数据库如何使用C++数据结构,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在编写代码时,堆栈是最常用的C++数据结构,它的概念简单,编写也比较简单,现在举这么个例子,桌子上有堆成...
    99+
    2023-06-17
  • java数据结构实现双向链表功能
    双向链表实现 双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继...
    99+
    2024-04-02
  • Navicat如何生成更新数据库结构同步的数据库
    小编给大家分享一下Navicat如何生成更新数据库结构同步的数据库,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、打开Navi...
    99+
    2024-04-02
  • golang中set数据结构如何使用
    本篇内容主要讲解“golang中set数据结构如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“golang中set数据结构如何使用”吧!借助map实现golang中没有set数据结构,一般...
    99+
    2023-07-05
  • MySQL如何实现数据批量更新功能
    本篇内容主要讲解“MySQL如何实现数据批量更新功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL如何实现数据批量更新功能”吧!根据不同条件批量更新同一值这种场景直接通过update语...
    99+
    2023-07-05
  • navicat如何导出数据结构
    这篇文章将为大家详细讲解有关navicat如何导出数据结构,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、首先,找到要导出数据结构的数据库,如图所示。2、然后鼠标右键该...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作