ES6的new Map()
ES6 提供了 Map 数据结构。它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。也就是说,Object 结构提供了“字符串—值”的对应,Map 结构提供了“值—值”的对应,是一种更完善的 Hash 结构实现。如果你需要“键值对”的数据结构,Map 比 Object 更合适。
let map = new Map();
let name = '小明';
let obj = {
age: 20,
money: '一元',
sex: '男'
};
map.set(name,obj);
添加一对键值对,已name做key,obj做value,控制台打印出来的map[{key: name,value: {age: 20,money: '一元',sex: '男'}}]
所以map的键可以是任意类型的值,map.forEach()进行循环取值。
map.size // 长度= arr.length
map.delete('name') //删除key为name的键值对
map.get('name') // 读取key对应的键值 找不到值为undefined
map.clear() // 清除所有成员,没有返回值
map.has(key) // 某个键是否在当前 Map 对象之中,返回一个布尔值
关于Map的更多使用方法,可移步
es6的set 和map