什么是键值对?
键值对('key = value') 顾名思义,每一个键会对应一个值。(数学中的映射)
示例
身份证号和你本人是绑定的关系。每一个身份证号(键)都会对应一个人(值)。
我们在登录微信或者游戏时,需要输入手机号验证身份。系统会向改手机号发送一条验证短信。这里的手机号码(键),对应的接收用户就是值。
每个键对应响应的值,当按下响应的键时,就会输出响应的结果。
键:存的值的编号。 值:要存放的数据。
Map对象
作用:用来保存键值对
特点:在Map对象中任何值(对象或者原始值)都可以作为一个键(任何数据类型)或一个值
基本Map方法
- new Map():创建新的Map对象
- set():为Map对象中的键设置值
- get():获取Map对象中键的值
- keys():返回Map对象中键的数组
- values():返回Map对象中值的数组
- entries():返回Map对象中键/值对的数组
Map的使用
创建对象
const a = {name : 'A'};
const b = {name : 'B'};
const c = {name : 'C'};
创建新的Map对象(new Map())
//创建新的Map对象( new Map())
const number = new Map();
向Map对象添加成员(set())
console.log(number.get(a));//1
console.log(number.get(b));//2
console.log(number.get(c));//3
获取Map对象中键的数组( keys())
console.log(number.keys());//{{...},{...},{...}}
获取Map对象中值的数组(values())
console. log(number.values());//{1,2,3}
获取Map对象中键/值对的数组(entries())
console.log(number.entries());//{{...} => 1,{...}} => 2, {...} => 3}
返回Map中元素的数量(Map.size)
console.log(number.size) //3
删除Map对象中的所有元素
number.clear();
console.log(number.size);//0
检查Map对象中是否存在指定元素
console.log(number.has(a));//true
删除Map对象中的指定元素
//删除number中的a
console.log(number.delete(a));//true
//检查在number中a是否被删除
console.log(number.has(a));//false