es6中的Set和Map

  1. map的介绍它类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。也就是说,Object 结构提供了“字符串—值”的对应,Map 结构提供了“值—值”的对应,是一种更完善的 Hash 结构实现。如果你需要“键值对”的数据结构,Map 比 Object 更合适。
  2. 1.Map是键值对,Set是值的集合本身是一个构造函数,当然键和值可以是任何的值;

    2.Map可以通过get方法获取值,而set不能因为它只有值;

    3.都能通过迭代器进行for…of遍历;

    4.Set的值是唯一的可以做数组去重,Map由于没有格式限制,可以做数据存储

    5.map和set都是stl中的关联容器,map以键值对的形式存储,key=value组成pair,是一组映射关系。set只有值,可以认为只有一个数据,并且set中元素不可以重复且自动排序。

  3. Set是一种叫做集合的数据结构
  4. Map是一种叫做字典的数据结构
  5. 应用场景:数据去重和数据存储
    • 集合是由一组无序且唯一的项组成的,可以想象成集合是一个既没有重复元素,也没有顺序概念的数组
    • ES6提供了新的数据结构Set,类似于数组,但是成员的值都是唯一的,没有重复的值
    • Set本身是一个构造函数,用来生成Set数据结构的

    属性

    • size:返回字典所包含的元素个数

    操作方法

    • add(value): 添加某个值,返回Set结构本身
    • delete(value):删除某个值,返回一个布尔值,表示删除是否成功
    • has(value): 返回一个布尔值,表示该值是否为Set的成员
    • clear(): 清除所有的成员,无返回值
    • size: 返回Set数据结构的数据长度

    遍历方法

    • keys():返回键名的遍历器
    • values(): 返回键值的遍历器
    • entries():返回键值对的遍历器
    • forEach():使用回调函数遍历每个成员,无返回值

    Map 字典 类对象

    • 类似于对象,也是键值对的集合,但是键的范围不限于字符串,各种类型的值都可以当作键,是一种更完善的Hash结构实现,如果你需要键值对的数据结构,Map 比 Object更合适
    • 集合和字典的区别:
      — 共同点:集合,字典可以存储不重复的值
      — 不同点:集合是以[值,值]的形式存储元素,字典是以[键,值]的形式存储

    属性

    • size:返回字典所包含的元素个数

    操作方法

    • set(key,value): 向字典树中添加元素
    • get(key):通过键值查找特性的数值并返回
    • has(key): 如果键值存在字典中返回true,否则false
    • delete(key): 通过键值从字典树中移除对应的数据
    • clear(): 将找个字段中的所有元素删除

    遍历方法

    • keys(): 将字典中包含的所有键名以数组形式返回
    • values(): 将字典中包含的所有数值以数组形式返回
    • entries(): 返回键值对的遍历器
posted @ 2022-06-17 09:49  请善待容嬷嬷  阅读(1025)  评论(0编辑  收藏  举报