搞后段HashMap用的仍是不少,其实js里也有提供了map。搞一段javascript
let map = new Map() map.set('a','a') map.set('b','b') console.log(map) console.log(map.get('a'))
以上简单的建立了一个map,显然存值用set、取值用get,和java 的仍是蛮类似 可是很显然,map并非{key : value,key1:value1}这种表示
展开一看,有三个部分组成:size长度、_proto_提供了一堆方法、[[Entries]] 存键值对的二维数组,因此是[[key,value],[key1,value1]]这样存储的java
set map<=>object map转obj,由于map打印出来实际上是数组里套长度为二的数组,和java的不一样 Object.create(null)、Object.create({}),{}的不一样建立对象的区别 第一个,默认是null对象,啥方法都没有、后两个同样继承了object类,有两个内置方法数组
let obj = {} for(let [k,v] in map){ obj[k]=v }