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 TO HTML 转换
Jun 26 Javascript
二级域名或跨域共享Cookies的实现方法
Aug 07 Javascript
COM中获取JavaScript数组大小的代码
Nov 22 Javascript
缓动函数requestAnimationFrame 更好的实现浏览器经动画
Dec 07 Javascript
JS实现控制表格单元格垂直对齐的方法
Mar 30 Javascript
超链接怎么正确调用javascript函数
May 23 Javascript
javascript弹出窗口中增加确定取消按钮
Jun 24 Javascript
基于JS实现checkbox全选功能实例代码
Oct 31 Javascript
详解Vue2 无限级分类(添加,删除,修改)
Mar 07 Javascript
jQuery插件imgAreaSelect基础讲解
May 26 jQuery
Vue中的ref作用详解(实现DOM的联动操作)
Aug 21 Javascript
Vue.js中的组件系统
May 30 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代码
2010/08/08 PHP
php header功能的使用
2013/10/28 PHP
ThinkPHP Mobile使用方法简明教程
2014/06/18 PHP
php实现格式化多行文本为Js可用格式
2015/04/15 PHP
WordPress中用于获取文章信息以及分类链接的函数用法
2015/12/18 PHP
javascript Object与Function使用
2010/01/11 Javascript
Jquery AutoComplete自动完成 的使用方法实例
2010/03/19 Javascript
JS获取并操作iframe中元素的方法
2013/03/21 Javascript
jquery 漂亮的删除确认和提交无刷新删除示例
2013/11/13 Javascript
JS实现简单的顶部定时关闭层效果
2014/06/15 Javascript
Javascript 中创建自定义对象的方法汇总
2014/12/04 Javascript
jQuery简单实现图片预加载
2015/04/20 Javascript
基于JavaScript实现智能右键菜单
2016/03/02 Javascript
将鼠标焦点定位到文本框最后(代码分享)
2017/01/11 Javascript
el表达式 写入bootstrap表格数据页面的实例代码
2017/01/11 Javascript
redux中间件之redux-thunk的具体使用
2018/04/17 Javascript
微信小程序下拉框搜索功能的实现方法
2019/07/31 Javascript
浅谈实现在线预览PDF的几种解决办法
2020/08/10 Javascript
Vue实现点击当前行变色
2020/12/14 Vue.js
Vue 数据响应式相关总结
2021/01/28 Vue.js
Python版的文曲星猜数字游戏代码
2013/09/02 Python
Python异常学习笔记
2015/02/03 Python
Python ValueError: invalid literal for int() with base 10 实用解决方法
2015/06/21 Python
Python设置默认编码为utf8的方法
2016/07/01 Python
简单谈谈Python中的元祖(Tuple)和字典(Dict)
2017/04/21 Python
numpy.where() 用法详解
2019/05/27 Python
Python中 Global和Nonlocal的用法详解
2020/01/20 Python
Python GUI编程学习笔记之tkinter控件的介绍及基本使用方法详解
2020/03/30 Python
Python如何截图保存的三种方法(小结)
2020/09/01 Python
TripAdvisor斯洛伐克:阅读评论、比较价格和酒店预订
2018/04/25 全球购物
运动会800米加油稿
2014/02/22 职场文书
同居协议书范本
2014/04/23 职场文书
药剂专业求职信
2014/06/20 职场文书
欢迎领导检查标语
2014/06/27 职场文书
祝福语集锦:给百岁老人祝寿贺词
2019/11/19 职场文书
OpenFeign实现远程调用
2022/08/14 Java/Android