ES6新数据结构Map功能如何使用
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇"ES6新数据结构Map功能如何使用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇
千家信息网最后更新 2025年12月02日ES6新数据结构Map功能如何使用
这篇"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功能如何使用"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
数据
数据结构
结构
内容
字符
字符串
对象
功能
函数
成员
数组
相同
参数
文章
方法
知识
篇文章
类型
请看
成功
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
ccs软件开发实验
数据库tsp是什么意思
java 软件开发详解
arc em9d软件开发
深圳网络安全服务怎么选择
我的世界qq群管理服务器
我的世界服务器1.8.8
没分离的数据库
海信软件开发待遇怎么样
网络安全法班会材料
修改标题服务器繁忙请稍后再试
点菜宝数据库连接失败
数据库查询优化项目
苏州数据库工程师招聘
软件开发要经历哪三大阶段
sql数据库 圆圈箭头
株洲软件开发工程师大专学校
网络技术的领域的应用
c# 如何编写数据库
docker容器中创建数据库
北京文档软件开发来电咨询
服务器的配置与管理技术
财经网站和经济研究数据库网站
中国用电量数据库
java求数据库平均成绩
河南企业软件开发成本价
打印机服务器集群
软件开发公司美工薪资制度
sql数据库 圆圈箭头
ar与哪种软件开发有联系