Map对象用法

1.Map对象

特点:Map是一组键值对的结构,具有极快的查找速度。
使用场景:Map主要的应用场景在于数组去重和数据存储。用来存储键值对 Key—Value,注意key不能重复,如果一个key对应多个value,那么后面的会覆盖前面的。
使用方法:
初始化Map需要一个二维数组,或者直接初始化一个空Map。Map具有以下方法:

let m=new Map();//初始化一个空Map
m.set("lisa",90);//添加key和value
m.set("tom",74);
console.log(m);//输出结果{'lisa' => 90, 'tom' => 74}

//判断是否存在某个key
m.has("lili");//输出false
m.has("lisa");//输出true

//获取某个key的value
m.get('lisa');//输出90

//删除某个key
m.delete("lisa");
m.get('lisa');//输出undefined

//清楚所有的元素
m.clear();

//获取Map对象的个数
m.size;

//初始化一个二维数组
var m = new Map([['Michael', 95], ['Bob', 75], ['Tracy', 85]]);
console.log(m);// 输出结果{'Michael' => 95, 'Bob' => 75, 'Tracy' => 85}

使用for…of获取Map对象中的每一个ke–value

//接上面的例子
//获取每一个项key-value
for(let i of m)
{
    console.log(i);
    //['lisa', 90]
    //['tom', 74]
}
//获取每一项key
for(let i of m.keys())
{
    console.log(i);
    //lisa
    //tom
}
//获取每一项value
for(let i of m.values())
{
    console.log(i);
    //90
    //74
}
//获取键值对
for(let i of m.entries())
{
    console.log(i);
    //['lisa', 90]
    //['tom', 74]
}

将Map对象转换为数组

//现在新建一个Map对象
let m=new Map();//初始化一个空Map
m.set("lisa",90);//添加key和value
m.set("tom",74);
m.set("lili",50);
console.log(m);
//输出结果{'lisa' => 90, 'tom' => 74, 'lili' => 50}

//现在如何把这个Map对象转换成数组呢?
//方法1:使用Array.from()
let arr=Array.from(m);
console.log(arr);

//方法2:使用扩展运算符
let arr=[...m];
console.log(arr);

//以上两种方法,输出结果都是如下一个二维数组
//[['lisa', 90], ['tom', 74],['lili', 50]]

//现在只想获取Map对象的key
let arr=[...m.keys()];
console.log(arr);//返回的是一个一维数组['lisa', 'tom', 'lili']

//只获取Map对象的value
let arr=[...m.values()];
console.log(arr);//返回的是一个一维数组[90, 74, 50]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值