文章目录

  • Map
    • 1 Map介绍
    • 2 创建一个Map
    • 3 常用方法介绍
    • 4 将Map转换为数组
    • 5 从数组构建Map
    • 6 遍历Map

Map

1 Map介绍

const obj = {
    "name":"孙悟空",
    'age':18,
    [Symbol()]:"哈哈",
    [obj2]:"嘻嘻"
}

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

2 创建一个Map

const map = new Map()
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"))

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

3 常用方法介绍

4 将Map转换为数组

方法一:使用方法Array.from(map)

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

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

方法二:使用解构符

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

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

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

5 从数组构建Map

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

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

6 遍历Map

方法一:使用for-of

const map = new Map()
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 = new Map()
map.set("name", "孙悟空")
map.set("age", 18)
map.set({}, "呵呵")
map.forEach((key, value)=>{
    console.log(key, value)
})

发表回复