Map 和 Set

86 阅读2分钟

Map 和 Set

  • ES6新推出的两种数据结构

set

  • set类似按照索引排序(但是能不能通过索引取值)
  • 语法: let s = new Set([数据1, 数据2, 数据3])
  • 特点: 天生不支持重复数据
  • 1.size (类似于数组的长度 length): 作用:获取当前数据结构中数据的数量
  • 2.add(要新增的数据) 作用: 向当前数据结构中 新增数据 语法: s.add(要新增的数据)
  • 3.has(要查找的数据) 作用:查询当前数据结构中是否拥有该数据 语法: s.has(要查找的数据) 找到返回值 true 找不到返回值 false
  • 4.delete(要删除的数据) 语法: s.delete(要删除的数据) 返回值删除后某一项后的数据结构
  • 5.clear() 作用:清空数据结构 语法: s.clear()
  • 6.遍历数据结构 作用: 遍历数据结构拿到数据的每一项 语法: s.forEach(function(item, key, origin){}) set 数据结构是没有key , 所以item 和 key 打印出来的值一样

Map

  • Map 和set一样也不支持数据重复 类似于 对象的数据结构 但是Map 的key 可以是任意类型的值 在实际开发中 ,Map 的场景一般为 想要将对象 的key 用于字符串之外的数据时使用
  • 语法:1 var m = new Map(][key , value])
  •  2 var m = new Map([[key1, key2, key3, key4], [value1, value2, value3, value4]])
    
 var  m = new Map([[1, 2, 3, 4],[100, 200, 300, 400]])
 console.log(m)
    1. size 作用: 返回当前数据结构的数据的长度(多少个)
    1. set() 作用: 相当前数据结构中新增数据
    1. get(key) 作用: 获取到指定的key 对应的 value
    1. has(key) 作用: 查询数据结构中是否存在当前 key; 存在返回一个 true, 否则返回一个 false
    1. delete 作用: 删除当前结构中对应的key
    1. clear 作用: 清空当前数据结构
    1. forEach
m.forEach(function( item, key, origin){
     /**
      * item---> value
      * key ---> key
      * origin ---> 原始的数据结构
     */
    console.log(item, key, origin)
})