set、map

1.Set 和 WeakSet用法

Set 

let set1=new Set()//不会重复

    // set 参数是数组,数组的值是基本类型

    let set2=new Set([1,2,3,4,5,5,5,5,6,7])

    console.log(set2);

    // 在set里面添加元素  add

    set2.add(44);

    // 获取元素数量   size

    console.log(set2.size);

    // 在set里面删除元素  delete

    set2.delete(4)

    // 清除所有元素  clear

    // set2.clear()

    // has  判断里面是否有指定的值,有-true,没有-false

    console.log(set2.has(9));

    console.log(set2.has(1));

    // entries( )  返回键值对的遍历器

    console.log(set2.entries());

    for(let [i,v] of set2.entries()){

        console.log(i,v);

    }

    // 属性名和属性值一样

    console.log(set2.keys());

    console.log(set2.values());

    for(let i of set2.keys()){

        console.log(i);

    }

    set2.forEach(function(item){

        console.log(item);

    })

 WeakSet

 // WeakSet   弱引用

    // 声明

    let ws = new WeakSet()

    console.log(ws);

    // 传值必须是对象类型的值[{}]

    let ws1 = new WeakSet([{ name: "张三" }])

    console.log(ws1);

    // 添加元素   add

    let obj = { age: 18 }

    ws1.add(obj)

    // 删除元素 delete

    // ws1.delete(obj)

    // 找到指定元素   has

    console.log(ws1.has(obj));

    // 是弱引用,不能遍历

2.Map和WeakMap用法

Map

 // 属性名必须是字符串类型, 传惨数组里面套数组

    let map = new Map([

        ["name", "张三"],

        ["age", 17]

    ])

    console.log(map);

    // 添加元素    set

    map.set("height", 180)

    // get  获取指定元素,返回值

    console.log(map.get("height"));

    // 删除指定键值对  delete

    map.delete("age")

    console.log(map);

    // 删除所有   clear

    // map.clear()

    // console.log(map);

    // 查找指定元素

    console.log(map.has("height"));

    console.log(map.has("heigh"));

     // entries( )  返回键值对的遍历器

     console.log(map.entries());

    for(let [i,v] of map.entries()){

        console.log(i,v);

    }

    // 属性名和属性值一样

    console.log(map.keys());

    console.log(map.values());

    for(let i of map.keys()){

        console.log(i);

    }

    map.forEach(function(item){

        console.log(item);

    })

// size  获取数量

console.log(map.size);


 

    // WeakMap   弱引用   不过键名的类型必须要求是引用类型的值

    let wp = new WeakMap()

    console.log(wp);

    //  用set  添加元素

    let obj={name:"zs"}

    let arr=[1]

    wp.set(arr,8)

    wp.set(obj,6)

    function fn1(){}

    wp.set(fn1,2)

     // get  获取指定元素,返回值

     console.log(wp.get(arr));

    // 删除指定键值对  delete

    wp.delete(fn1)

    console.log(wp);

    // 查找指定元素

    console.log(wp.has(obj));

    console.log(wp.has("heigh"));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值