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制作居中遮罩层效果分享
Feb 21 Javascript
JS+CSS实现弹出全屏灰黑色透明遮罩效果的方法
Dec 20 Javascript
jQuery点击改变class并toggle及toggleClass()方法定义用法
Dec 11 Javascript
ajax分页效果(bootstrap模态框)
Jan 23 Javascript
JS模拟实现ECMAScript5新增的数组方法
Mar 20 Javascript
将input框中输入内容显示在相应的div中【三种方法可选】
May 08 Javascript
详解vue-cli快速构建项目以及引入bootstrap、jq
May 26 Javascript
微信小程序 检查接口状态实例详解
Jun 23 Javascript
javascript面向对象三大特征之多态实例详解
Jul 24 Javascript
微信小程序云函数添加数据到数据库的方法
Mar 04 Javascript
js实现滑动滑块验证登录
Jul 24 Javascript
深入了解Vue动态组件和异步组件
Jan 26 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
深入解析PHP垃圾回收机制对内存泄露的处理
2013/06/14 PHP
如何阻止网站被恶意反向代理访问(防网站镜像)
2014/03/18 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
IE和Mozilla的兼容性汇总event
2007/08/12 Javascript
7款吸引人眼球的jQuery/CSS3特效实例分享
2013/04/25 Javascript
页面加载完后自动执行一个方法的js代码
2014/09/06 Javascript
JS+CSS实现可以凹陷显示选中单元格的方法
2015/03/02 Javascript
JavaScript中如何使用cookie实现记住密码功能及cookie相关函数介绍
2016/11/10 Javascript
jquery实现拖动效果(代码分享)
2017/01/25 Javascript
微信小程序教程系列之设置标题栏和导航栏(7)
2020/06/29 Javascript
Vue2.0基于vue-cli+webpack父子组件通信(实例讲解)
2017/09/14 Javascript
JavaScript判断数据类型有几种方法及区别介绍
2020/09/02 Javascript
JavaScript实现雪花飘落效果
2020/12/27 Javascript
[01:23]一分钟告诉你 DOTA2为什么叫信仰2
2014/06/20 DOTA
[01:03]PWL开团时刻DAY6——别打我
2020/11/05 DOTA
[54:53]完美世界DOTA2联赛PWL S2 GXR vs PXG 第二场 11.18
2020/11/18 DOTA
介绍Python中内置的itertools模块
2015/04/29 Python
使用Python压缩和解压缩zip文件的教程
2015/05/06 Python
Python实现的简单排列组合算法示例
2018/07/04 Python
Python3.4学习笔记之常用操作符,条件分支和循环用法示例
2019/03/01 Python
Python面向对象总结及类与正则表达式详解
2019/04/18 Python
python进程和线程用法知识点总结
2019/05/28 Python
pandas 数据索引与选取的实现方法
2019/06/21 Python
python 列表推导式使用详解
2019/08/29 Python
pandas read_excel()和to_excel()函数解析
2019/09/19 Python
python 比较字典value的最大值的几种方法
2020/04/17 Python
python 图像增强算法实现详解
2021/01/24 Python
美国专业级皮肤病和spa品质护肤品的高级零售网站:SkinCareRx
2017/02/06 全球购物
给民警的表扬信
2014/01/08 职场文书
活动总结范文
2014/08/30 职场文书
五四青年节比赛演讲稿
2015/03/18 职场文书
出国留学单位推荐信
2015/03/26 职场文书
vue+elementUI实现表格列的显示与隐藏
2022/04/13 Vue.js
Python探索生命起源 matplotlib细胞自动机动画演示
2022/04/21 Python
三星 3nm 芯片将于第二季度开始量产
2022/04/29 数码科技
总结三种用 Python 作为小程序后端的方式
2022/05/02 Python