map数据结构

Map

JavaScript的默认对象表示方式是{},但是JavaScript的对象有个小问题,就是键必须是字符串。但实际上Number或者其他数据类型作为键也是非常合理的。

为了解决这个问题,最新的ES6规范引入了新的数据类型Map。

Map是具有极快查找速度的键值对结构。

var map = new Map();
//设置
//map.set(name,value);
map.set('name1','王宝强');
map.set('name2','马碧池');

//获取
//map.get(name);
console.log(map.get(name1)+map.get(name2));

//查询 如果map对象中有结果 则返回布尔值true;
//map.has(name);
console.log(map.get('name1'))//true;
console.log(map.get('name3'))//false;

//删除
//map.delete(name);
console.log(map)//删除前的map对象;//Map(2) {"name1" => "王宝强", "name2" => "马碧池"}
map.delete('name1');
console.log(map)//删除后的map对象;//{"name2" => "马碧池"}
// map.clear(); 全删


//个数 map.size();
console.log(map.size) // 2

//特别注意map对象不能使用for in 循环 无报错也无任何反应
for(var name in map){
    console.log(name);
}

//实体 map = map.entries();
//不能使用for in 但是可以使用 for of获取对象内容
 for(var name of map){
        console.log(name);
   }//结果是[0:"name1",1:"王宝强"][0:"name2",1:"马碧池"];

//也可以以下这种写法获取准确的值;
for(var [key,value] of map){
    console.log(key,value);//结果分别为 name1 王宝强 和 name2 马碧池
 }

//如果只想要key
for(var key of map.keys()){
    console.log(key)//name1 name2
}

//只获取value
for(var value of map.values()){
    console.log(value)//王宝强 马碧池
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值