我的编程空间,编程开发者的网络收藏夹
学习永远不晚

ES6新数据结构Map功能怎么用

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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);//返回布尔值,判断是否含有键 ul
m.delete(ul);//删除键 ul,成功返回true,失败返回false
m.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功能怎么用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

ES6新数据结构Map功能怎么用

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

下载Word文档

猜你喜欢

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

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

JavaScript中Map数据结构是怎么样的

这篇“JavaScript中Map数据结构是怎么样的”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“JavaScript中Map数据结构是怎么样的”,小编整理了以下知识点,请大家跟着小编的步伐一
2023-06-28

Java数据结构中的Map与Set该怎么理解

这篇文章主要为大家分析了Java数据结构中的Map与Set该怎么理解的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“Java数据结构中的Map与Set该怎么理
2023-06-29

mysql怎么复制表结构及数据到新表

本篇内容主要讲解“mysql怎么复制表结构及数据到新表”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql怎么复制表结构及数据到新表”吧!1、复制表结构及数据到新表CREATE TABLE
2023-06-02

sql怎么复制表结构和数据到新表

有多种方法可以复制表结构和数据到新表,以下是其中一种方法:使用CREATE TABLE和INSERT INTO语句来复制表结构和数据:-- 复制表结构CREATE TABLE new_table LIKE original_table;-
sql怎么复制表结构和数据到新表
2024-04-09

Java数据结构之List怎么用

小编给大家分享一下Java数据结构之List怎么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!泛型什么是泛型泛型:即通过参数化类型来实现在同一份代码上操作多种数据类型。泛型是在C#2.0引入的。泛型(Genericity
2023-06-21

Java数据结构之队列怎么用

这篇文章主要介绍了Java数据结构之队列怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体如下:一、概述:1、说明:队列的原则时先进先出,就像生活中排队取票一样,谁排在
2023-05-31

java数据结构中栈怎么应用

本篇内容主要讲解“java数据结构中栈怎么应用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java数据结构中栈怎么应用”吧!1.声明一个栈接口SStackpackage ch05; publi
2023-06-22

如何使用Redis和Lua开发分布式数据结构功能

如何使用Redis和Lua开发分布式数据结构功能在现代分布式系统中,数据结构的管理是一个重要的方面。Redis作为一款高性能的缓存数据库,通过支持多种数据结构,为我们提供了强大的功能。而Lua作为一种轻量级脚本语言,与Redis的高可扩展性
2023-10-22

如何利用Redis和Scala开发分布式数据结构功能

如何利用Redis和Scala开发分布式数据结构功能概述:随着互联网规模的扩大以及应用场景的增多,对于分布式系统的需求也日益增长。Redis是一款开源的内存数据库,具有高性能、高可用性和分布式功能,因此被广泛应用于构建分布式系统。Scala
2023-10-22

怎么用python实现各种数据结构

这篇文章主要为大家展示了“怎么用python实现各种数据结构”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么用python实现各种数据结构”这篇文章吧。快速排序def quick_sort(_
2023-06-22

C++怎么为多线程性能设计数据结构

本篇内容主要讲解“C++怎么为多线程性能设计数据结构”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++怎么为多线程性能设计数据结构”吧!8.3.1 为复杂操作划分数组元素假设你正在做一些复杂的
2023-06-16

编程热搜

目录