0


JavaScript -- Map对象及常用方法介绍

文章目录

Map

1 Map介绍

  • Map用来存储键值对结构的数据(key-value)
  • Object中存储的数据就可以认为是一种键值对结构
  • Map和Object的主要区别: - Object中的属性名只能是字符串或符号,如果传递了一个其他类型的属性名,JS解释器会自动将其转换为字符串- Map中任何类型的值都可以成为数据的key
const obj ={"name":"孙悟空",'age':18,[Symbol()]:"哈哈",[obj2]:"嘻嘻"}

image-20221203134223010

2 创建一个Map

const map =newMap()

map.set("name","孙悟空")
map.set(obj2,"呵呵")
map.set(NaN,"哈哈哈")

map.delete(NaN)// map.clear()

console.log(map)
console.log(map.get("name"))
console.log(map.has("name"))

image-20221203133950058

3 常用方法介绍

  • map.size() 获取map中键值对的数量
  • map.set(key, value) 向map中添加键值对
  • map.get(key) 根据key获取值
  • map.delete(key) 删除指定数据
  • map.has(key) 检查map中是否包含指定键
  • map.clear() 删除全部的键值对
  • map.keys() 获取map的所有的key
  • map.values() 获取map的所有的value

4 将Map转换为数组

方法一:使用方法

Array.from(map)
const map =newMap()

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

console.log(arr)

image-20221203134706290

方法二:使用解构符

推荐这种方法,写法更简便

const map =newMap()

map.set("name","孙悟空")
map.set("age",18)
map.set({},"呵呵")// 将map转换为数组const arr =[...map]

console.log(arr)

image-20221203134714506

5 从数组构建Map

const map2 =newMap([["name","猪八戒"],["age",18],[{},()=>{}],])
console.log(map2)

image-20221203134819011

6 遍历Map

方法一:使用

for-of
const map =newMap()

map.set("name","孙悟空")
map.set("age",18)
map.set({},"呵呵")for(const[key, value]of map){// const [key, value] = entry
    console.log(key, value)}

方法二:使用

forEach
const map =newMap()

map.set("name","孙悟空")
map.set("age",18)
map.set({},"呵呵")

map.forEach((key, value)=>{
    console.log(key, value)})

本文转载自: https://blog.csdn.net/qq_46311811/article/details/128207599
版权归原作者 Hydrion-Qlz 所有, 如有侵权,请联系我们删除。

“JavaScript -- Map对象及常用方法介绍”的评论:

还没有评论