set和Map的应用场景

set:

1.成员不能重复

2.只有键值,没有键名,有点类似数组

3.可以遍历,方法又add,delete,has

Map:

1.本质上是键值对的集合,类似集合;

2.可以遍历,方法很多,可以干跟各种数据格式转换

Set和Map主要的应用场景在于数据重组和数据存储

set 是一种叫做集合的数据结构,Map是一种叫做字典的数据结构

  • Set 和 Map 主要的应用场景在于 数据重组 和 数据储存。
  • Set 是一种叫做集合的数据结构,Map 是一种叫做字典的数据结构。

集合 与 字典 的区别:

  • 共同点:集合、字典 可以储存不重复的值
  • 不同点:集合 是以 [value, value]的形式储存元素,字典 是以 [key, value] 的形式储存
  • 集合(Set)
  • // 去重数组的重复对象
    let arr = [1, 2, 3, 2, 1, 1]
    [... new Set(arr)]	// [1, 2, 3]

操作方法:

遍历方法:

Map:

  • add(value):新增,相当于 array里的push。
  • delete(value):存在即删除集合中value。
  • has(value):判断集合中是否存在 value。
  • clear():清空集合。
  • 字典(Map):

    是一组键值对的结构,具有极快的查找速度。

  • const m = new Map()
    const o = {p: 'haha'}
    m.set(o, 'content')
    m.get(o)	// content
    
    m.has(o)	// true
    m.delete(o)	// true
    m.has(o)	// false
  • 操作方法:

  • set(key, value):向字典中添加新元素。
  • get(key):通过键查找特定的数值并返回。
  • Keys():将字典中包含的所有键名以迭代器形式返回。
  • values():将字典中包含的所有数值以迭代器形式返回。
  • entries():返回所有成员的迭代器。
  • forEach():遍历字典的所有成员。
    • has(key):判断字典中是否存在键key。
    • delete(key):通过键 key 从字典中移除对应的数据。
    • clear():将这个字典中的所有元素删除。
    • 总结

      Set:

    • 成员唯一、无序且不重复。
    • [value, value],键值与键名是一致的(或者说只有键值,没有键名)。
    • 可以遍历,方法有:add、delete、has。
  • 本质上是键值对的集合,类似集合。
  • 可以遍历,方法很多可以跟各种数据格式转换。

你可能感兴趣的:(数据结构)