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实例教程(19) 使用HoTMetal(6)
Dec 23 Javascript
JQuery 学习笔记 选择器之一
Jul 23 Javascript
用Javascript同时提交多个Web表单的方法
Dec 26 Javascript
js onload处理html页面加载之后的事件
Oct 30 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
Feb 22 Javascript
JS控制伪元素的方法汇总
Apr 06 Javascript
纯原生js实现table表格的增删
Jan 05 Javascript
使用vue实现点击按钮滑出面板的实现代码
Jan 10 Javascript
Node.js中的require.resolve方法使用简介
Apr 23 Javascript
Vue实现动态显示textarea剩余字数
May 22 Javascript
JavaScript实现Tab选项卡切换
Feb 13 Javascript
JavaScript 面向对象程序设计详解【类的创建、实例对象、构造函数、原型等】
May 12 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
php 字符串中的\n换行符无效、不能换行的解决方法
2014/04/02 PHP
详解PHP神奇又有用的Trait
2019/03/25 PHP
php求斐波那契数的两种实现方式【递归与递推】
2019/09/09 PHP
Laravel 6.2 中添加了可调用容器对象的方法
2019/10/22 PHP
关于laravel框架中的常用目录路径函数
2019/10/23 PHP
js导出table到excel同时兼容FF和IE示例
2013/09/03 Javascript
jquery隐藏标签和显示标签的实例
2013/11/11 Javascript
JavaScript实现的简单幂函数实例
2015/04/17 Javascript
分享10个原生JavaScript技巧
2015/04/20 Javascript
JS基于VML技术实现的五角星礼花效果代码
2015/10/26 Javascript
谈谈javascript中使用连等赋值操作带来的问题
2015/11/26 Javascript
深入解析AngularJS框架中$scope的作用与生命周期
2016/03/05 Javascript
JavaScript兼容性总结之获取非行间样式案例
2016/08/07 Javascript
JavaScript每天必学之数组和对象部分
2016/09/17 Javascript
微信小程序 地图map详解及简单实例
2017/01/10 Javascript
Vue报错:Uncaught TypeError: Cannot assign to read only property’exports‘ of object’#‘的解决方法
2017/06/17 Javascript
微信小程序使用image组件显示图片的方法【附源码下载】
2017/12/08 Javascript
JS小球抛物线轨迹运动的两种实现方法详解
2017/12/20 Javascript
vue组件jsx语法的具体使用
2018/05/21 Javascript
JS学习笔记之数组去重实现方法小结
2019/05/29 Javascript
24个解决实际问题的ES6代码片段(小结)
2020/02/02 Javascript
详解js中的几种常用设计模式
2020/07/16 Javascript
利用JavaScript模拟京东按键输入功能
2020/12/01 Javascript
Python实现并行抓取整站40万条房价数据(可更换抓取城市)
2016/12/14 Python
利用信号如何监控Django模型对象字段值的变化详解
2017/11/27 Python
Python3连接Mysql8.0遇到的问题及处理步骤
2020/02/17 Python
Python 爬取必应壁纸的实例讲解
2020/02/24 Python
Python GUI编程学习笔记之tkinter中messagebox、filedialog控件用法详解
2020/03/30 Python
圣诞树世界:Christmas Tree World
2019/12/10 全球购物
艺术专业大学生自我评价
2013/09/22 职场文书
建房协议书
2014/04/11 职场文书
蓝颜请假条
2014/04/11 职场文书
借款协议书
2014/09/16 职场文书
辞职信格式模板
2015/02/27 职场文书
同事去世追悼词
2015/06/23 职场文书
MySQL通过binlog恢复数据
2021/05/27 MySQL