JavaScript学习笔记—Map

  • Map用来存储键值对结构的数据(key-value)
  • Map中任何类型的值都可以成为数据的key

1. 创建:

new Map()

2. 属性和方法:

(1)map.size() 获取map中键值对的数量
(2)map.set(key, value) 向map中添加键值对
(3)map.get(key) 通过key获取值
(4)map.delete(key) 删除指定数据
(5)map.has(key) 检查map中是否包含指定键
(6)map.clear() 删除全部的键值对
(7)map.keys() 获取map中所有key
(8)map.values() 获取map中所有的value

const map = new Map();
map.set("name", "孙悟空");
map.set("age", 18);
console.log(map.size); // 2
console.log(map.get("age")); // 18
console.log(map.has("age")); // true
map.delete("age");
console.log(map.has("age")); // false
map.clear();
console.log(map.size); // 0

3. 将map转换为数组:

const map = new Map();
map.set("name", "孙悟空");
map.set("age", 18);
map.set({}, "呵呵");
// 将map转换为数组
const arr = Array.from(map);
console.log(arr);
const arr2 = [...map];
console.log(arr2);

// 数组转map
const map2 = new Map([["name", "猪八戒"],["age", 18],[{}, () => {}]]);
console.log(map2);

4. map遍历:

const map = new Map();
map.set("name", "孙悟空");
map.set("age", 18);
map.set({}, "呵呵");
/*
for(const entry of map){
  const [key, value] = entry;
  console.log(entry, key, value);
}
*/
// 解构
for(const [key, value] of map){
  console.log(key, value);
}
map.forEach((key, value, item) => {
  console.log(key, value, item);
});
posted @ 2023-01-25 20:52  程序员张3  阅读(58)  评论(0编辑  收藏  举报