ES6新特性——map
Map
ES6 提供了 Map 数据结构。它类似于对象,也是键值对的集合。但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。Map 也实现了 iterator 接口,所以可以使用 【扩展运算符】和 【for...of...】进行遍历。Map 的属性和方法:
1) size 返回 Map 的元素个数
2) set 增加一个新的元素,返回当前 Map
3) get 返回键名对象的键值
4) has 检测 Map 中是否包含某个元素,返回 boolean 值
5) clear 清空集合,返回 undefined
<script>
// 声明 Map
let m = new Map();
//添加元素
m.set('name','123');
m.set('change',function(){
console.log('我们可以改变你');
});
let key = {
school : 'ATGUIGU'
};
m.set(key,['北京','上海','深圳'])
console.log(m); // 输出 {"name":123,"change":function(){console.log('我们可以改变你')},{"ATGUIGU":["北京","上海","深圳"]}
// size
console.log(m.size); // 输出 3
// 获取
console.log(m.get('change')); // 输出 function(){console.log('我们可以改变你')}
console.log(m.get(key)); // 输出 ['北京','上海','深圳']
//遍历
for(let v of m){
console.log(v); // 输出 ["name":"123"] ["change":function(){}] [{"school":"ATGUIGU"}:['北京','上海','深圳']]
}
console.log(m);
// 删除
m.delete('name');
console.log(m) // {"change":function(){console.log('我们可以改变你')},{"ATGUIGU":["北京","上海","深圳"]}
//清空
console.log(m.clear()); // 输出 undefined
console.log(m) // 输出 {}
</script>

浙公网安备 33010602011771号