ES6之Map
JavaScript 的对象(Object),只能用字符串当作键。这给它的使用带来了很大的限制。ES6 提供了 Map 数据结构。它类似于对象,但是“键”的范围不限于 字符串,各种类型的值(包括对象)都可以当作键。Symbol类型当作key输出时
无法确认是同一个key.
1、map类的属性--size
2、map类的方法
map.set(key,value) :设置键名key对应的键值value,然后返回整个map结构,如 果key已经有值,则键值会被更新,否则就生成该键,可以链式操作。
map.get(key) get方法读取key对应的键值,如果找不到key,返回undefined
map.delete(key) 删除某个键,返回true.如果删除失败,返回false.
map.has(key) 方法返回一个布尔值,表示某个键是否在当前map对象之中。
map.clear() 清除所有数据,没有返回值
map.entries() 返回键值对的遍历器
map.forEach() 使用回调函数遍历每个成员。
//它类似于对象,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。
// let str = 'hehe';
// let m1 = new Map([
// ['a', 1],
// [true, 100],
// [function () { }, 200]
// ]);
//console.log(m1.size);//3
//m1.set('b', 1000).set('c', 2000).set(str, 3000);
//console.log(m1.get(str));//3000
// console.log(m1.entries());//类似于关联数组
// console.log(m1.keys());//所有键
// console.log(m1.values());//所有值
// for (let value of m1) {
// console.log(value)
// }
// let arr=[['a',1],['b',2],['c',3]];
// console.log(arr[2][0]);//c
// let m1=new Map(arr);
// console.log(m1);
// console.log(m1.keys());//输出所有的键;
// console.log(m1.get('c'));//3