• Map是js中的数据结构,它允许存储[键,值]对,其中任何值都可以用作键或值。
  • Map集合中的键和值可以是任何类型,并且如果使用集合中已存在的键将值添加到Map集合中,则新的值会替换旧的值。
  • 映射对象中元素的迭代按插入顺序完成,并且“for...”循环为每次迭代返回所有[键,值]对的数组。
  • JavaScript中对象与Map的差异
    这两种数据结构在很多方面都是相似的,例如都使用键存储值,允许使用键索引这些值,删除键并验证键是否具有任何值。但是Js中的对象和Map之间存在相当大的差异,这使得在很多情况下使用Map成为了更好的选择。

  • 映射中使用的键可以是任何类型的值,例如函数、对象等,而对象中的键则限于符号和字符串。
  • 通过使用size属性可以轻松的直到Map的大小,但是在处理对象时,必须手动确定大小。
  • 在要求涉及频繁添加和删除键值对的情况下,最好使用Map,因为Map是一种迭代的数据类型,可以直接进行迭代,而迭代对象需要以特定方式获取其值。
  • JavaScript中的Map.has()方法
    该方法用于检查Map中是否存在具有指定键的元素。他返回一个布尔值,该值指示映射中是否存在具有指定键的元素,

  • Map.has()方法将要搜索的元素的键作为参数,并返回布尔值。如果该元素存在于Map中,则返回true,否则返回false,
  • 方法has() 返回一个bool值,用来表明map 中是否存在指定元素.

    语法: myMap.has(key);
    参数:key必填,用来检测是否存在指定元素的键值。
    返回值:Boolean如果指定元素存在于Map中,则返回true;其他情况返回false。

    使用has方法

    var myMap = new Map();
    myMap.set('bar', "foo")
    myMap.has('bar');  // returns true
    myMap.has('baz');  // returns false