Map 是 Es6 新增的数据结构,主要用于存储键值对
1、size 属性返回 Map 的长度
2、set() 方法用于向 Map 中写入内容 ---键可以用字符串或者用其他数据类型,但是 Object 只能是字符串
3、get() 方法用于得到对应的值
4、delete() 方法删除对应的元素 ---返回布尔值
5、has() 方法判断某个元素是否在 Map 中 --返回布尔值
6、 clear() 清除 Map 中的全部内容 --返回所有值,没值返回undefined
7、 keys() 遍历得到键值
8、 values() 遍历得到值
9、entries() 遍历得到键值对
10、 forEach() 遍历得到 Map 所有值
// Object 提供 字符串--值
// Map 提供 值--值
let map = new Map();
console.log(map);//Map(0) {size: 0}
console.log(map.size);//0
// 键 值
console.log(map.set("name","张三"));//Map(1) {'name' => '张三'}
console.log(map.set("age",100));//Map(2) {'name' => '张三', 'age' => 100}
console.log(map.set("address","昆明"));//Map(3) {'name' => '张三', 'age' => 100, 'address' => '昆明'}
console.log(map.set(100,"昆明"));//Map(4) {'name' => '张三', 'age' => 100, 'address' => '昆明', 100 => '昆明'}
console.log(map.get(100));//昆明
console.log(map.get("name"));//张三
console.log(map);//Map(4) {'name' => '张三', 'age' => 100, 'address' => '昆明', 100 => '昆明'}
console.log(map.delete(100));//true
console.log(map);//Map(3) {'name' => '张三', 'age' => 100, 'address' => '昆明'}
console.log(map.has(100));//false
console.log(map.has("name"));//true
console.log(map.clear());//undefined ---打印清除后的值
遍历取值
// console.log(map.keys());//MapIterator {'name', 'age', 'address'} ---拿到对象的模式的键值
for(let i of map.keys()){ //--取单独的值
console.log(i);// name age address
}
// console.log(map.values());//MapIterator {'张三', 100, '昆明'} ---拿到对象的模式的键值
for(let i of map.values()){
console.log(i); // 张三 100 昆明
}
// console.log(map.entries());//MapIterator {'name' => '张三', 'age' => 100, 'address' => '昆明'} ---拿到对象的模式的键值
for(let [i,y] of map.entries()){
console.log(i,y);// name 张三 age 100 address 昆明
}
//只得到值
map.forEach((a)=>{
console.log(a);
})
//得到键和值
// 值-键名
map.forEach((a,b)=>{
console.log(a,b);
})