美文网首页
ES6解读:Set和Map

ES6解读:Set和Map

作者: 蚊小文 | 来源:发表于2017-10-14 18:20 被阅读0次

    ES6为算法提供了新的高效的数据,即Set()和Map()。

    Set的用法:set数据类型的元素,必须是唯一的;添加重复的元素不会报错,只是不会生效。

    Set的用法:set数据类型的元素,必须是唯一的;添加重复的元素不会报错,只是不会生效;

    • 他在转换元素的时候,不会进行数据类型的隐式转换;
    • 可以用它来去重;
        let arr=[1,2,3,4,2,1,2,3,2];
        let list=new Set(arr);
        console.log(list)
    
    • Set()实例的方法:
      1、add() 添加元素
      2、delete() 移出
      3、clear() 清空
      4、has() 判断元素中是否有某个内容
    let arr=['add','delete','clear','has'];
        let list=new Set(arr);
        console.log(list.has('add'))
        console.log(list.delete('add'),list)
        console.log(list.clear(),list)
    

    WeakSet的用法

    var weakList = new WeakSet();
    weakList.add({ data: 42 });
    

    WeakSet 结构与 Set 类似,也是不重复的值的集合,但是WeakSet 的成员只能是对象,而不能是其他类型的值,此外WeakSet 中的对象都是弱引用,即垃圾回收机制不考虑 WeakSet 对该对象的引用

    Map的用法

    • map的属性名可以是任意数据类型;
    • map增加值,用set,获取值用get
    //第一种写法:
    let map=new Map();
    let arr=['123'];
    map.set(arr,456);
    console.log('map',map,map.get(arr))
    
    //第二种写法
    let map=new Map([['a',123],['b',456]])
    console.log(map)
    
    • map常用的属性值和方法
      1、map.size 长度
      2、set设置,get获取
      3、delete() 删除; clear()清空

    WeakMap的用法

    • weakMap和map的区别:
    • 前者接收的值只能是对象
    • 他没有set属性,不能使用clear()
    • 不能遍历; 跟weakSet和set的区别一样;

    相关文章

      网友评论

          本文标题:ES6解读:Set和Map

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