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 相关文章推荐
JavaScript实现url地址自动检测并添加URL链接示例代码
Nov 12 Javascript
jquery实现图片灯箱明暗的遮罩效果
Nov 15 Javascript
node.js中的Socket.IO使用实例
Nov 04 Javascript
jQuery实现图片渐入渐出切换展示效果
Aug 15 Javascript
Js实现简单的小球运动特效
Feb 18 Javascript
JS自定义函数对web前端上传的文件进行类型大小判断
Oct 19 Javascript
js实现3d悬浮效果
Feb 16 Javascript
JavaScript实现获取用户单击body中所有A标签内容的方法
Jun 05 Javascript
jQuery zTree 异步加载添加子节点重复问题
Nov 29 jQuery
浅谈如何通过node.js对数据进行MD5加密
May 16 Javascript
微信小程序map组件结合高德地图API实现wx.chooseLocation功能示例
Jan 23 Javascript
node实现socket链接与GPRS进行通信的方法
May 20 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
星际争霸兵种名称对照表
2020/03/04 星际争霸
php curl抓取网页的介绍和推广及使用CURL抓取淘宝页面集成方法
2015/11/30 PHP
详解Laravel视图间共享数据与视图Composer
2016/08/04 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
PHP实现非阻塞模式的方法分析
2018/07/26 PHP
为jQuery增加join方法的实现代码
2010/11/28 Javascript
EditPlus注册码生成器(js代码实现)
2013/03/25 Javascript
JQuery中SetTimeOut传参问题探讨
2013/05/10 Javascript
jquery text()方法取标签中的文本
2014/07/25 Javascript
javascript动态创建表格及添加数据实例详解
2015/05/13 Javascript
AngularJS Phonecat实例讲解
2016/11/21 Javascript
AngularJS使用angular.bootstrap完成模块手动加载的方法分析
2017/01/19 Javascript
如何快速上手Vuex
2017/02/14 Javascript
vuejs实现ready函数加载完之后执行某个函数的方法
2018/08/31 Javascript
Vue弹出菜单功能的实现代码
2018/09/12 Javascript
微信小程序如何调用图片接口API并居中显示
2019/06/29 Javascript
小程序跨页面交互的作用与方法详解
2020/01/07 Javascript
AI小程序之语音听写来了,十分钟掌握百度大脑语音听写全攻略
2020/03/13 Javascript
webpack+vue-cil 中proxyTable配置接口地址代理操作
2020/07/18 Javascript
python判断端口是否打开的实现代码
2013/02/10 Python
Python使用scrapy抓取网站sitemap信息的方法
2015/04/08 Python
对python中raw_input()和input()的用法详解
2018/04/22 Python
Python流程控制 while循环实现解析
2019/09/02 Python
在Keras中利用np.random.shuffle()打乱数据集实例
2020/06/15 Python
KIKO美国官网:意大利的平价彩妆品牌
2017/05/16 全球购物
美国知名的隐形眼镜电商:Contacts America
2019/11/19 全球购物
教师党员公开承诺事项
2014/05/28 职场文书
物业品质提升方案
2014/06/08 职场文书
百日安全生产活动总结
2014/07/05 职场文书
2015年毕业实习工作总结
2014/12/12 职场文书
唐山大地震的观后感
2015/06/05 职场文书
安全生产奖惩制度
2015/08/06 职场文书
学校运动会感想
2015/08/10 职场文书
2015年教师个人业务工作总结
2015/10/23 职场文书
导游词之广西漓江
2019/11/02 职场文书
Python激活Anaconda环境变量的详细步骤
2021/06/08 Python