ES6中map数据结构学习

Posted zoeeying

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6中map数据结构学习相关的知识,希望对你有一定的参考价值。

在项目中遇到一个很恶心的需求,然后发现ES6中的map可以解决,所以简单学习了一下map。

javascript的Object本身就是键值对的数据结构,但实际上属性和值构成的是“字符串-值”对,属性只能是字符串,如果传个对象字面量作为属性名,那么会默认把对象转换成字符串,结果这个属性名就变成“[object Object]”:。

ES6提供了“值-值”对的数据结构,键名不仅可以是字符串,也可以是对象。它是一个更完善的Hash结构。

1、键值对,键可以是对象

const map1 = new Map()
const objkey = {p1: ‘v1‘}
map1.set(objkey, ‘hello‘)
console.log(map1.get(objkey))

结果:

hello

 

2、Map可以接受数组作为参数,数组成员还是一个数组,其中有两个元素,一个表示键一个表示值

const map2 = new Map([
  [‘name‘, ‘Aissen‘],
  [‘age‘, 12]
])
console.log(map2.get(‘name‘))
console.log(map2.get(‘age‘))

结果:

Aissen
12

 

以上是关于ES6中map数据结构学习的主要内容,如果未能解决你的问题,请参考以下文章

ES6学习—Set 和 Map 数据结构

ES6 - 基础学习(12): SetWeakSetMapWeakMap补充

js ES6 Set和Map数据结构详解

ES6学习:Map结构的目的和基本用法

ES6学习小结6:何为Map?

ES6-----学习系列十(set-map数据结构)