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 相关文章推荐
JQUERY 对象与DOM对象之两者相互间的转换
Apr 27 Javascript
日期 时间js控件
May 07 Javascript
纯js实现瀑布流展现照片(自动适应窗口大小)
Apr 08 Javascript
iframe窗口高度自适应的实现方法
Jan 08 Javascript
js获取判断上传文件后缀名的示例代码
Feb 19 Javascript
了不起的node.js读书笔记之node的学习总结
Dec 22 Javascript
JavaScript控制table某列不显示的方法
Mar 16 Javascript
JS实现的鼠标跟随代码(卡通手型点击效果)
Oct 26 Javascript
javascript中this指向详解
Apr 23 Javascript
JS获取鼠标选中的文字
Aug 10 Javascript
angularjs $http实现form表单提交示例
Jun 09 Javascript
AngularJS实现的base64编码与解码功能示例
May 17 Javascript
微信小程序之电影影评小程序制作代码
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
安健A254立体声随身听的分析与打磨
2021/03/02 无线电
php的控制语句
2006/10/09 PHP
5种PHP创建数组的实例代码分享
2014/01/17 PHP
php封装好的人民币数值转中文大写类
2015/12/20 PHP
HTML 自动伸缩的表格Table js实现
2009/04/01 Javascript
jQuery UI-Draggable 参数集合
2010/01/10 Javascript
JavaScript 编写匿名函数的几种方法
2010/02/21 Javascript
js中top/parent/frame概述及案例应用
2013/02/06 Javascript
jQuery对象和DOM对象之间相互转换的方法介绍
2015/02/28 Javascript
jquery实现可横向和竖向展开的动态下滑菜单效果
2015/08/24 Javascript
Bootstrap每天必学之按钮(一)
2015/11/24 Javascript
老生常谈 关于JavaScript的类的继承
2016/06/24 Javascript
jQuery实现Select左右复制移动内容
2016/08/05 Javascript
js发送短信倒计时的简单实现方法
2016/09/08 Javascript
javascript 判断页面访问方式电脑或者移动端
2016/09/19 Javascript
AngularJS出现$http异步后台无法获取请求参数问题的解决方法
2016/11/03 Javascript
基于vue循环列表时点击跳转页面的方法
2018/08/31 Javascript
Vue中实现权限控制的方法示例
2019/06/07 Javascript
[01:14]英雄,所敬略同——2018完美盛典宣传视频
2018/12/05 DOTA
你真的了解Python的random模块吗?
2017/12/12 Python
根据DataFrame某一列的值来选择具体的某一行方法
2018/07/03 Python
Python封装原理与实现方法详解
2018/08/28 Python
python按时间排序目录下的文件实现方法
2018/10/17 Python
python-opencv 将连续图片写成视频格式的方法
2019/01/08 Python
python实现五子棋人机对战游戏
2020/03/25 Python
Python3爬虫里关于Splash负载均衡配置详解
2020/07/10 Python
Python打印不合法的文件名
2020/07/31 Python
皮尔·卡丹巴西官方商店:Pierre Cardin
2017/07/21 全球购物
租租车:国际租车、美国租车、欧洲租车、特价预订国外租车(中文服务)
2018/03/28 全球购物
法国购买隐形眼镜和眼镜网站:Optical Center
2019/10/08 全球购物
旅游文化节策划方案
2014/06/06 职场文书
人力资源管理专业自荐书
2014/07/07 职场文书
2014年领导班子工作总结
2014/12/11 职场文书
呐喊读书笔记
2015/06/30 职场文书
如何利用js在两个html窗口间通信
2021/04/27 Javascript
防止web项目中的SQL注入
2021/12/06 MySQL