面试题(四)

108 阅读1分钟

「这是我参与2022首次更文挑战的第20天,活动详情查看:2022首次更文挑战」。

Map

Map 对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。构造函数 Map 可以接受一个数组作为参数。

Map结构提供了“值-值”的对应,是更完善的Hash结构实现。Map可以作为构造函数。

Map 结构转为数组结构后,结合数组的 map 方法、filter 方法,可以实现Map的遍历和过滤(Map不是数组所以本身没有map和filter方法)。

Map转为数组的快速方法是使用扩展运算符

Map对象举例

        let arr1 = ['一','牛']
        let arr2 = ['二','马']
        let a = new Map([arr1,arr2])
        console.log(a)

image.png

Map对象的方法

我们继续利用上面的代码

  • a.set(key, val)

    传入key值和value值,加入map对象

    a.set('三', '是')
    a.set('四', '我')
    console.log(a)
    

    image.png

  • a.get(key)

    传入key值,返回的是key所对应的value值

    console.log(a.get('四'))   //结果为  我
    
  • a.has(key)

    传入key值,判断这个键是否存在,返回的是布尔值

    console.log(a.has('四')) //结果为  true
    console.log(a.has('五')) //结果为 false
    
  • a.delete(key)

    传入key值,删除对应的key和value 返回值为布尔值

    console.log(a,'删除前')
    console.log(a.delete('一'),'删除成功')
    console.log(a.delete('五'),'删除失败')
    console.log(a,'删除后')
    

    image.png

  • a.clear()

    清空

    console.log(a,'清空前')
    a.clear()
    console.log(a,'清空前')
    

    image.png

  • a.keys()

    返回键名的遍历器

    console.log(a.keys())
    

    image.png

  • a.values()

    返回键值的遍历器

    console.log(a.values())
    

    image.png

  • a.entries()

    返回键值对的遍历器

    console.log(a.entries())
    

    image.png

  • a.forEach()

    使用回调函数遍历每个成员

    a.forEach((item,index)=> {
    console.log(item,index);
     }) 
    

    image.png

    加油加油!!

    努力学习!!