JS内建对象——Map

目录

What——什么是map

Have——属性和方法有什么

Distinct——和Object的区别

How——怎样创建

Shift——map的转换

1.将map转换为数组

使用Array.from( )

使用扩展运算符

2.由二维数组构建一个map

遍历map

1.使用for-of

2.使用for-each


What——什么是map

  • Map用来存储键值对结构的数据(key-value)

Have——属性和方法有什么

map.size()  //获取map中键值对的数量
map.set(key,value)//向map中添加键值对
map.get(key)     //根据key获取值
map.delete(key)  //删除指定数据
map.has(key)   //检查map中是否包含指定键
mao.clear()   //删除全部的键值对
map.keys() //获取map的所有的key
map.values() // 获取map的所有的value
 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"))  //true

Distinct——和Object的区别

  • Object中存储的数据就可以认为是一种键值对结构
  • Map和Object的主要区别:
    • - Object中的属性名只能是字符串或符号,如果传递了一个其他类型的属性名, JS解释器会自动将其转换为字符串
    • - Map中任何类型的值都可以称为数据的key
 const obj2 = {}

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

How——怎样创建

// 创建一个Map
const map = new Map()

Shift——map的转换

1.将map转换为数组

使用Array.from( )

 const map = new Map()
            map.set("name", "孙悟空")
            map.set("age", 18)
            map.set({}, "呵呵")
const arr = Array.from(map) // [["name","孙悟空"],["age",18]]

使用扩展运算符

const arr = [...map]

2.由二维数组构建一个map

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

            // console.log(map2)

遍历map

1.使用for-of

for (const [key, value] of map) {
      const [key, value] = entry
      console.log(key, value)
  }

2.使用for-each

forEach用来遍历map中的每一个元素

 map.forEach((key, value)=>{
    console.log(key, value)
 })
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值