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 相关文章推荐
爱恋千雪-US-AscII加密解密工具(网页加密)下载
Jun 06 Javascript
Dom与浏览器兼容性说明
Oct 25 Javascript
基于JQuery的列表拖动排序实现代码
Oct 01 Javascript
JQuery记住用户名密码实现下次自动登录功能
Apr 27 Javascript
跟我学习javascript的函数和函数表达式
Nov 16 Javascript
Bootstrap网格系统详解
Apr 26 Javascript
JavaScript蒙板(model)功能的简单实现代码
Aug 04 Javascript
jQuery之动画效果大全
Nov 09 Javascript
React教程之封装一个Portal可复用组件的方法
Jan 02 Javascript
浅析Vue 和微信小程序的区别、比较
Aug 03 Javascript
js实现鼠标拖拽缩放div实例代码
Mar 25 Javascript
axios如何取消重复无用的请求详解
Dec 15 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屏蔽蜘蛛访问代码及常用搜索引擎的HTTP_USER_AGENT
2013/03/06 PHP
php打开文件fopen函数的使用说明
2013/07/05 PHP
PHP使用GIFEncoder类生成gif动态滚动字幕
2014/07/01 PHP
PHP中shuffle数组值随便排序函数用法
2014/11/21 PHP
浅析PHP7新功能及语法变化总结
2016/06/17 PHP
PHP设计模式之工厂模式详解
2017/10/24 PHP
jQuery 使用个人心得
2009/02/26 Javascript
jQuery下通过replace字符串替换实现大小图片切换
2012/05/22 Javascript
jQuery Tools tab使用介绍
2012/07/14 Javascript
JavaScript中的noscript元素属性位置及作用介绍
2013/04/11 Javascript
js与jQuery 获取父窗、子窗的iframe
2013/12/20 Javascript
JavaScript实现动画打开半透明提示层的方法
2015/04/21 Javascript
js实现下拉列表选中某个值的方法(3种方法)
2015/12/17 Javascript
基于jQuery Tipso插件实现消息提示框特效
2016/03/16 Javascript
js 调用百度分享功能
2017/02/27 Javascript
JavaScript用二分法查找数据的实例代码
2017/06/17 Javascript
JavaScript之浏览器对象_动力节点Java学院整理
2017/07/03 Javascript
React学习之事件绑定的几种方法对比
2017/09/24 Javascript
vue中封装axios并实现api接口的统一管理
2020/12/25 Vue.js
[41:17]完美世界DOTA2联赛PWL S3 access vs CPG 第二场 12.13
2020/12/17 DOTA
Python实现的下载8000首儿歌的代码分享
2014/11/21 Python
详细解读Python的web.py框架下的application.py模块
2015/05/02 Python
Python写入CSV文件的方法
2015/07/08 Python
python-django中的APPEND_SLASH实现方法
2019/06/21 Python
树莓派实现移动拍照
2019/06/22 Python
python调用matplotlib模块绘制柱状图
2019/10/18 Python
python爬虫中采集中遇到的问题整理
2020/11/27 Python
5 个强大的HTML5 API 函数推荐
2014/11/19 HTML / CSS
美国最大网上鞋店:Zappos
2016/07/25 全球购物
Daisy London官网:英国最大的首饰集团IBB旗下
2019/02/28 全球购物
大门门卫岗位职责
2013/11/30 职场文书
文科毕业生自荐书范文
2014/04/17 职场文书
一年级学生评语大全
2014/04/21 职场文书
5s推行计划书
2014/05/06 职场文书
二手房购房意向书
2015/05/09 职场文书
详解ZABBIX监控ESXI主机的问题
2022/06/21 Servers