ES6学习教程之Map的常用方法总结


Posted in Javascript onAugust 03, 2017

前言

ES6包含了许多新的语言特性,这会让JS变的更加强大且富有表现力。本文将给大家详细介绍关于ES6中Map的常用方法,话不多说,来一起看看详细的介绍:

1.Map 结构转为数组结构

比较快速的方法是结合使用扩展运算符(...)

let map = new Map([
 [1, 'one'],
 [2, 'two'],
 [3, 'three'],
]);
[...map.keys()]
// [1, 2, 3]
[...map.values()]
// ['one', 'two', 'three']
[...map.entries()]
// [[1,'one'], [2, 'two'], [3, 'three']]
[...map]
// [[1,'one'], [2, 'two'], [3, 'three']]

2.Map 循环遍历

Map 原生提供三个遍历器:

  • keys():返回键名的遍历器。
  • values():返回键值的遍历器。
  • entries():返回所有成员的遍历器。

下面是使用实例。

let map = new Map([
 ['F', 'no'],
 ['T', 'yes'],
]);

for (let key of map.keys()) {
 console.log(key);
}
// "F"
// "T"

for (let value of map.values()) {
 console.log(value);
}
// "no"
// "yes"

for (let item of map.entries()) {
 console.log(item[0], item[1]);
}
// "F" "no"
// "T" "yes"

// 或者
for (let [key, value] of map.entries()) {
 console.log(key, value);
}

// 等同于使用map.entries()
for (let [key, value] of map) {
 console.log(key, value);
}

上面代码最后的那个例子,表示 Map 结构的默认遍历器接口(Symbol.iterator 属性),就是 entries 方法。

map[Symbol.iterator] === map.entries // true

3.Map 获取长度

map.size;

4.Map 获取第一个元素

const m = new Map();
m.set('key1', {})
m.set('keyN', {})

console.log(m.entries().next().value); // [ 'key1', {} ]

获取第一个key

console.log(m.keys().next().value); // key1

获取第一个value

console.log(m.values().next().value); // {}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
getComputedStyle与currentStyle获取样式(style/class)
Mar 19 Javascript
js防止表单重复提交的两种方法
Sep 30 Javascript
jquery live()重复绑定的解决方法介绍
Jan 03 Javascript
JS验证IP,子网掩码,网关和MAC的方法
Jul 02 Javascript
javascript去掉代码里面的注释
Jul 24 Javascript
深入理解javascript作用域第二篇之词法作用域和动态作用域
Jul 24 Javascript
AngularJs篇:使用AngularJs打造一个简易权限系统的实现代码
Dec 26 Javascript
Vue2.0 多 Tab切换组件的封装实例
Jul 28 Javascript
Vue父组件调用子组件事件方法
Feb 23 Javascript
jQuery实现的卷帘门滑入滑出效果【案例】
Feb 18 jQuery
Vue侦测相关api的实现方法
May 22 Javascript
vue el-table实现递归嵌套的示例代码
Aug 14 Vue.js
微信小程序之电影影评小程序制作代码
Aug 03 #Javascript
Form表单上传文件(type="file")的使用
Aug 03 #Javascript
微信小程序-滚动消息通知的实例代码
Aug 03 #Javascript
es6 字符串String的扩展(实例讲解)
Aug 03 #Javascript
浅谈pc端rem字体设置的问题
Aug 03 #Javascript
解决canvas画布使用fillRect()时高度出现双倍效果的问题
Aug 03 #Javascript
promise处理多个相互依赖的异步请求(实例讲解)
Aug 03 #Javascript
You might like
来自phpguru得Php Cache类源码
2010/04/15 PHP
第五章 php数组操作
2011/12/30 PHP
PHP超级全局变量数组小结
2012/10/04 PHP
php对关联数组循环遍历的实现方法
2015/03/13 PHP
ASP 过滤数组重复数据函数(加强版)
2010/05/31 Javascript
node.js中的fs.lchownSync方法使用说明
2014/12/16 Javascript
C#中使用迭代器处理等待任务
2015/07/13 Javascript
JS实现点击按钮获取页面高度的方法
2015/11/02 Javascript
JS实现超精简的链接列表在固定区域内滚动效果代码
2015/11/04 Javascript
javascript新闻跑马灯实例代码
2020/07/29 Javascript
原生JavaScript实现滚动条效果
2020/03/24 Javascript
JS工作中的小贴士之”闭包“与事件委托的”阻止冒泡“
2016/06/16 Javascript
基于JavaScript实现全选、不选和反选效果
2017/02/15 Javascript
JS简单生成随机数(随机密码)的方法
2017/05/11 Javascript
JS基于正则表达式实现的密码强度验证功能示例
2017/09/21 Javascript
Angular 4中如何显示内容的CSS样式示例代码
2017/11/06 Javascript
JS实现简单的浮动碰撞效果示例
2017/12/28 Javascript
Vue.js 实现微信公众号菜单编辑器功能(一)
2018/05/08 Javascript
微信小程序页面间跳转传参方式总结
2019/06/13 Javascript
微信小程序实现发微博功能的示例代码
2020/06/24 Javascript
Vue-cli打包后如何本地查看的操作
2020/09/02 Javascript
python发布模块的步骤分享
2014/02/21 Python
wxPython定时器wx.Timer简单应用实例
2015/06/03 Python
Python使用自带的ConfigParser模块读写ini配置文件
2016/06/26 Python
基于python OpenCV实现动态人脸检测
2018/05/25 Python
python中pika模块问题的深入探究
2018/10/13 Python
在python中实现对list求和及求积
2018/11/14 Python
pandas通过loc生成新的列方法
2018/11/28 Python
python学生管理系统开发
2019/01/30 Python
如何利用python生成MD5并去重
2020/12/07 Python
小学标准化建设汇报材料
2014/08/16 职场文书
2014年重阳节敬老活动方案
2014/09/16 职场文书
大四优秀党员个人民主评议
2014/09/19 职场文书
面试通知短信
2015/04/20 职场文书
巧用 -webkit-box-reflect 倒影实现各类动效(小结)
2021/04/22 HTML / CSS
Win11如何启用启动修复 ? Win11执行启动修复的三种方法
2022/04/08 数码科技