ES6新数据结构Map功能如何使用
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,这篇"ES6新数据结构Map功能如何使用"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇
千家信息网最后更新 2025年01月31日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安全错误
数据库的锁怎样保障安全
软件开发有哪些参考书
双路cpu必须装服务器系统吗
商业企业销售服务器账务处理
软件开发服务退税
网络技术专业毕业后可以去的工作
数据库安全等保2.0
前端封装数据库
数据库软件技术核心
阿里云服务器选择配置
update 某一列数据库
易语言多线程访问数据库6
虚拟现实展示系统软件开发
jaa软件开发工程师
互联互通服务器托管
软件开发最高薪资
网络安全有名的公司有哪些
长沙网络安全认证几年有效
银行国家网络安全宣传短视频制作
直销拆分软件开发
数据库既可以扩充也可以收缩
淮安维护网络安全
java 软件开发文档
江淮研发中心汽车软件开发人员
安徽专业软件开发机构
数据库系统汤小丹
服务器密码策略
潍坊办公管理软件开发公司
建立人物数据库
数字货币软件开发步骤
山东大学网络安全学院陈宇