一、map对象的创建
var x=new Map();
var map1 = new Map([
['a', 1],
['b', 2],
['c', 1]
]);
二、 增加/添加
x.set(Symbol('a'),'张三');
x.set(Symbol('a'),'李四');
x.set('郑州','晴天');
x.set('开封','多云');
三、 修改
x.set('开封','晴天');
四、 查找
console.log(x.has('洛阳')); 返回true或false
五、删除
x.delete('开封');
x.clear();清空
六、遍历
x.forEach(function(val,key,map){ console.log(val,key) })
七、 keys /values /entries
for(let i of x.keys()){
console.log(i);
}
for(let i of x.values()){
console.log(i);
}
for(let i of x.entries()){
console.log(i);
}
for(let i of x){
console.log(i);
}
八、 map转换key与值的关系
var map1 = new Map([
['a', 1],
['b', 2],
['c', 1]
]);
var map2 = new Map([
['郑州', '晴天'],
['开封', '多云'],
['东京', '海啸'],
['新乡', '海啸']
]);
function mapchenge(map) {
console.log(map);
let tem_map=new Map();//空map集合
for(let i of new Set(map.values())){//去重值后迭代
tem_map.set(i,[]);//添加数据到 map集合
}
//添加源值 到 新map
for(let [i,j] of map){
tem_map.get(j).push(i);
}
return tem_map;
}
var y = mapchenge(map1);
var x = mapchenge(map2);
console.log(y);
console.log(x);