Javascript(笔记40) - ES6特性 - Map
Map
ES6 提供了Map数据结构。它类似于对象,也是键值对集合。但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。
Map也实现了 Iterator 接口,所以可以使用“扩展运算符”和"for...of"进行遍历。
Map的属性和方法:
size :返回Map的无素个数;
set :增加一个新元素,返回当前 Map;
get :返回键名对象的键值;
has :检测Map中是否包含某个元素,返回 boolean 值;
clear: 清空集合,返回 undefined;
创建一个空 map
let m = new Map();
添加元素:set
m.set('name','Jacky');
m.set('trait',function(){ // 放一个函数
console.log('i can sing.');
});
m.set('say',()=>{ // 放一个箭头函数
console.log('hello javascript');
});
m.set({'city':"Urumchi"},['ts','sybk','xs','smg']); // 放一个对象当键名,当一个数组做键值;
let s1 = new Set(['language','math','physics','chemistry']); // 放一个集合;
m.set('science',s1);
什么类型的数据都能放;
元素个数:size
console.log(m.size); // 5
删除元素:delete
删除有的元素,返回 true,删除不存在的,返回 false;
m.delete('name');
console.log(m);
获取元素:get
console.log(m.get('trait'));
清空元素:clear
m.clear();
console.log(m);
遍历map: for...of
for(let v of m){
console.log(v);
}
每个元素是个数组,第一个元素是键,第二个元素是值;
Map 是个升级版的对象;