美文网首页
ES6数据集合 set 和 map

ES6数据集合 set 和 map

作者: 邢走在云端 | 来源:发表于2019-12-12 15:21 被阅读0次

    set

    set 类似于数组,没有重复的元素,开发中可用于去重操作,它的key和value相等

    初始化一个set集合

    let set = new Set([1,2,3,4,4]);
    console.log(set); // Set { 1, 2, 3, 4 } 
    
    • 一个属性

      size

      返回集合的长度(去重后的长度)

      console.log(set.size) 
      
    • 四个方法

      • add()

        添加一个元素

        set.add('小明')
        

        链式添加多个元素

        set.add('小明').add('小华')
        
    • delete()

      删除一个元素

      set.delete('小明')
      
    • has()

      判断set集合中是否存在该元素 返回true/false

      set.has('小明');
      
    • clear()

      清除set集合中的所有元素

      set.clear()
      

      没有返回值

      console.log(set.clear())  // undefined
      

    map

    map类似于对象,本质上是键值对的集合。字符串、对象都可以当作键

    初始化一个map集合

    let map = new Map(
      [
        ['name', '张三'],
        ['age', 14],
        ['age', 12],
      ]
    )
    

    可以去重,上述代码中的age将被覆盖成12

    注意事项:

    去重只针对于map集合的键是基本数据类型。对于Object这种复杂的数据类型不去重

    let map = new Map(
      [
        ['name', '张三'],
        ['age', 14],
        ['age', 12],
        [{}, '123'],
        [{}, '456'],
      ]
    )
    
    • 属性

      • size (去重后的长度)
      console.log(map.size) 
      
    • 一些方法

      • set()

        设置键值对

        map.set('height', 1.78)
        
      • get()

        通过键名获取元素

        console.log(map.get('height')); // 1.78
        
      • delete()

        删除一个键值对

        map.delete('height')
        
      • has()

        判断是否有该键值

        console.log(map.has('height'));
        
      • clear()

        清除map集合中的数据

        map.clear()
        
      • keys(), values(), entries()

        console.log(map.keys()); // [Map Iterator] { 'name', 'age' }
        console.log(map.values()); // [Map Iterator] { '张三', 12 }
        console.log(map.entries()); // [Map Iterator] { [ 'name', '张三' ], [ 'age', 12 ] }
        

    对map进行遍历

     map.forEach((value, index) => {
       console.log(value);
       console.log(index);
     })
    

    相关文章

      网友评论

          本文标题:ES6数据集合 set 和 map

          本文链接:https://www.haomeiwen.com/subject/vtdtnctx.html