1.Set 和 WeakSet用法

    //实用操作

    var arr = [1, 1, 1, 2, 2, 2, 3, 33, 3,]

    var a = new Set(arr)

    console.log(Array.from(arr));//(9) [1, 1, 1, 2, 2, 2, 3, 33, 3]

    //添加

    var s = new Set([1, 2, 3]);

    //或者用add()

    s.add('a');

    s.add('b');

    s.add('c');

    console.log(s);//Set(6) {1, 2, 3, 'a', 'b', …}

    //只有一个,不会有相同的值

    // size属性:获取成员的个数。

    console.log(s.size);//6

    // delete( )方法:用户删除Set结构中的指定值,删除成功返回:true,删除失败返回:fasle

    s.delete('a');

    console.log(s);//Set(5) {1, 2, 3, 'b', 'c'}

    // clear( )方法:清除所有成员。

    s.clear()

    console.log(s);//Set(0) {size: 0}

    // has( )方法:判断set结构中是否含有指定的值。如果有,返回true;如果没有,返回fasle。

    console.log(s.has(1));//false

    // entries( )方法:返回一个键值对的遍历器。

    var b = new Set(['a', 'b', 'c']);

    console.log(b.entries());//SetIterator {'a' => 'a', 'b' => 'b', 'c' => 'c'}

    //keys( )方法:返回键名的遍历器。

    // values()方法:返回键值的遍历器。

    console.log(b.keys());//SetIterator {'a', 'b', 'c'}

    console.log(b.values());//SetIterator {'a', 'b', 'c'}

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

        console.log(i + '' + v);//aa        bb         cc

    }

    // forEach()方法:遍历每一个成员。

    b.forEach(function (value, key) {

        console.log(value, key);//a a  b b   c c

    })

    // WeakSet结构同样不会存储重复的值,不同的是,它的成员必须是对象类型的值。

    let ws = new WeakSet([{ "age": 18 }])

    console.log(ws);//WeakSet {{…}}

    // 屌丝写法

    // let ws = new WeakSet([1, 2])

    // console.log(ws);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值