前言
小伙伴们大家好。上篇文章中为大家详细分享了ES6中的Map数据结构,本篇文章将在上一篇文章的基础上对Map做一个补充。关于Map还有一个知识点没有分享到,就是关于Map和其它类型的互相转换。
通过上篇文章的学习,我们了解到Map是ES6为我们提供的一个很强大的数据类型。那么在使用的过程中难免会遇到与其它类型打交道的操作。下面我们就来看下Map与其它几个类型互相转换的一些常用操作。
Map与数组互相转换
大家都知道数组在我们日常开发中是必不可少的一个数据类型了,就在我们上一篇文章分享Map使用的时候也是不只一次的提到了数组。那么数组和Map是如何实现互相转换的呢。下面为大家揭晓
- Map 转换为数组:
- Map转换为数组最简单的方式就是通过扩展运算符(…)
- 还可以通过对Map进行遍历组成数组(这个方法这里不再展示)
- 数组转换为Map:
- 通过将数组作为参数传给Map的构造函数即可(数组的成员也应该是包含了一个个元素的数组)
- 也可以通过遍历数组然后调用Map的set函数进行组装(相对复杂,这里也不再赘述)
//Map转换为数组
const map = new Map()
.set('hj', 'xhj')
.set({
'name': 'xhj'}, ['xhj']);
[...map]// [ ['hj', 'xhj' ], [ {'name': 'xhj'}, ['xhj'] ] ]
//数组转换为对象
const arrMap = new Map([
['hj', 'xhj' ],
[ {
'name': 'xhj'}