Set 数据结构 和 Map 数据结构

101 阅读2分钟

Set 数据结构

  • 类似于数组的数据结构
  • 按照索引排列的数据结构
  • 创建 Set 数据结构
    • 语法: var s = new Set([数据1, 数据2, 数据2, 数据3, ... ])
      var s = new Set([1,2,3,4,5,6,])
      
  • Set 数据结构的属性和方法
    1. size 属性
      • 语法: 数据结构.size
      • 返回值: 该数据结构内有多少个数据
      console.log(s.size)  //6
      
    2. add() 方法
      • 语法: 数据结构.add(数据)
      • 作用: 向该数据结构内添加数据
      console.log(s.add(7))  //{1,2,3,4,5,6,7}
      
    3. has() 方法
      • 语法: 数据结构.has(数据)
      • 返回值: true---表示数据结构内有该数据; false---表示数据结构内没有该数据
      console.log(s.has(4))  //true
      console.log(s.has(8))  //false
      
    4. delete() 方法
      • 语法: 数据结构.delete(数据)
      • 作用: 删除该数据结构内的某一个数据
      console.log(s.delete(6))  //{1,2,3,4,5}
      
    5. clear() 方法
      • 语法: 数据结构.clear()
      • 作用: 清除该数据结构内所有数据
      console.log(s.clear())  //undefined,此时 s 已经空了
      
    6. forEach() 方法
      • 语法: 数据结构.forEach(function (value, key, origin) {})
      let num = 0
      s.forEach(function(value, key){
        return num += value 
      })
      console.log(num)  //21
      

Map 数据结构

  • 类似于对象的数据结构, 但是他的 key 可以是任何数据类型
  • 可以被叫做一个 值=值 的数据结构
  • 创建一个 Map 数据结构
    • 语法: var m = new Map([ [key, value], [key, value] ])
      var m = new Map([
            ['a',100],
            ['b',200],
            ['c',300]
          ])
      
  • Map 数据结构的属性和方法
    1. size 属性
      • 语法: 数据结构.size
      • 得到: 该数据内有多少个数据
      console.log(m.size)  //3
      
    2. set() 方法
      • 语法: 数据结构.set(key, value)
      • 作用: 想该数据内添加数据
       m.set('d',400)
       console.log(m)  //Map(4) {'a' => 100, 'b' => 200, 'c' => 300, 'd' => 400}
      
    3. get() 方法
      • 语法: 数据结构.get(key)
      • 作用: 数据结构内该 key 对应的 value
       console.log(m.get('a'))  //100 
      
    4. has() 方法
      • 语法: 数据结构.has(key)
      • 返回值: true---数据结构内有该数据; false---数据结构内没有该数据
       console.log(m.has('a'))  //true
       console.log(m.has('k'))  //false
      
    5. delete( 方法
      • 语法: 数据结构.delete(key)
      • 作用: 删除该数据结构内的某一个数据
       m.delete('a',100)
       console.log(m)  //Map(2) { 'b' => 200, 'c' => 300}
      
    6. clear() 方法
      • 语法: 数据结构.clear()
      • 作用: 清除该数据结构内所有数据 -```js m.clear() console.log(m) //Map(0) {size: 0}
    7. forEach() 方法
      • 语法: 数据结构.forEach(function (value, key, origin) {})
      let num = 0
      m.forEach(function(value, key){
        return num += value 
      })
      console.log(num)  //600