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

原文地址:https://www.cnblogs.com/zoeeying/p/11384952.html

时间: 2024-10-01 14:56:31

ES6中map数据结构学习的相关文章

ES6中map数据结构

key值可以任意值或对象,value值可以是任意值或对象 let json={ name:'eternity', skill:'java' }; let map=new Map(); map.set(json,'I am'); console.log(map); map.set('zhang',json); console.log(map); //map增删查 map.get(json); //删 map.delete('zhang'); //全删 map.clear(); //查找 map.h

了解ES6的Map数据结构

<script> /* Map数据结构是ES6推出的,它是一个类对象,普通对象的键值只能使用string,而map数据结构的键值可以使用任意对象,不受限制 Map是一个构造函数,通过new Map() 来构建 如果需要键值对的数据格式,Map比Object更加适合 如果对同一个键进行重复赋值,那么前面的值会被后替换 拥有于set数据结构同样的遍历方法,遍历的顺序就是数据插入的顺序 转化为数组结构可以使用展开运算符 ... */ let map = new Map([ [{a:'a'},123]

ES6学习总结之Set和Map数据结构的理解

前言 当我们需要存储一些数据的时候,首先想到的是定义一个变量用来存储,之后我们可能学了数组,发现数组比变量可以存储更多的数据,接着可能有其它的存储数据的方法等等,然而我今天需要介绍的是在ES6中比较常见使用的数据类型结构,Set和Map. Set数据结构 1.Set简介 set中成员的值都是唯一的,没有重复的值 向set中添加成员时,不会发生类型转换 向set中添加的对象总是不想等 2.常用的属性和方法 size:返回set实例的成员总数 add():添加某个值,返回set本身 delete()

ES6中的Set、Map数据结构

Map.Set都是ES6新的数据结构,他们都是新的内置构造函数.也就是说typeof的结果,多了两个. 他们是什么:  Set是不能重复的数组.    Map是可以任何东西当做键的对象: ES6 提供了新的数据结构 Set.它类似于数组,但是Set成员的值都是唯一的,没有重复的值. let m = new Set(); m.add(1); m.add(2); m.add(3); m.add(3); m.add(3); m.add(4); m.add(5); console.log(m); 集合中

ES6学习之Set 和 Map 数据结构

Set对象 ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set 实例的属性和方法 Set.prototype.constructor:构造函数,默认就是Set函数. Set.prototype.size:返回Set实例的成员总数 Set.prototype.add(value):添加某个值,返回 Set 结构本身. Set.prototype.delete(value):删除某个值,返回一个布尔值,表示删除是否成功. Set.prototype.ha

js ES6 Set和Map数据结构详解

这篇文章主要介绍了ES6学习笔记之Set和Map数据结构,结合实例形式详细分析了ECMAScript中基本数据结构Set和Map的常用属性与方法的功能.用法及相关注意事项,需要的朋友可以参考下 本文实例讲述了ES6学习笔记之Set和Map数据结构.分享给大家供大家参考,具体如下: 一.Set ES6提供了新的数据结构Set.类似于数组,只不过其成员值都是唯一的,没有重复的值. Set本身是一个构造函数,用来生成Set数据结构. 1 . Set函数可以接受一个数组(或类似数组的对象)作为参数,用来

ES6 之 Set数据结构和Map数据结构 Iterator和for...of循环

ECMAScript 6 入门 Set数据结构 基本用法 ES6提供了新的数据结构Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set本身是一个构造函数,用来生成Set数据结构. var s = new Set(); [2, 3, 5, 4, 5, 2, 2].map(x => s.add(x)); for (let i of s) { console.log(i); } // 2 3 5 4 上面代码通过add方法向Set结构加入成员,结果表明Set结构不会添加重复的值. 向S

ES6中的Set和Map集合

前面的话 在ES6标准制定以前,由于可选的集合类型有限,数组使用的又是数值型索引,因而经常被用于创建队列和栈.如果需要使用非数值型索引,就会用非数组对象创建所需的数据结构,而这就是Set集合与Map集合的早期实现.本文将详细介绍ES6中的set和map集合 引入 Set集合是一种无重复元素的列表,开发者们一般不会逐一读取数组中的元素,也不太可能逐一访问Set集合中的每个元素,通常的做法是检测给定的值在某个集合中是否存在 Map集合内含多组键值对,集合中每个元素分别存放着可访问的键名和它对应的值,

ES6中的Map集合(与java里类似)

Set类型可以用来处理列表中的值,但是不适用于处理键值对这样的信息结构.ES6也添加了Map集合来解决类似的问题 一.Map集合 JS的对象(Object),本质上是键值对的集合(Hash结构),但是传统上只能用字符串当作键.这给它的使用带来了很大的限制 为了解决这个问题,ES6提供了Map数据结构.它类似于对象,也是键值对的集合,但是"键"的范围不限于字符串,各种类型的值(包括对象)都可以当作键.也就是说,Object结构提供了"字符串-值"的对应,Map结构提供