想品客老师的第四天:Set与WeakSet类型

Set

Set 对象允许你存储任何类型(无论是原始值还是对象引用)的唯一值。集合(set)中的元素只会出现一次,你可以按照插入顺序迭代集合中的元素。

声明set的方法

let set = new Set([1,2,3,4,5]);

set和array还有object的区别

set内对数据的唯一性的判断是严格模式判断,也就是说字符串'1'和数字1是不一样的

但是在对象里会被判定为一样,也就是字符串'1'和数字1是一样的:

let obj = {
            1: "hdcms",
            "1": "houdunren"
        };
        console.log(obj);//1:"houdunren"

同样的属性名会被后面的覆盖,所以打印不出前面的属性值

注意在对象里,如果属性名是一个对象的话,要加中括号

加中括号以后,对象名会被所属对象识别为一个字符串,所以此时想访问这个【对象里的对象】就需要在访问的时候把对象转为字符串:

    let obj = {
            1: "hdcms",
            "1": "houdunren"
        };

        console.log(obj);
        let hd = {
            [obj]: "后盾人"
        };
        console.log(hd[obj.toString()]);

 set储存的内容顺序:对于 add() 方法来说,就是调用 add() 方法时集合中不存在相同的元素的顺序,相同的就插不进去

let set = new Set();
set.add(1); // 成功插入 1
set.add(2); // 成功插入 2
set.add(1); // 1 已经存在,不会插入
set.add(3); // 成功插入 3
console.log(set); // 输出: Set { 1, 2, 3 }

Set元素检测与管理

set.size:返回set的大小

  let set = new Set([1, 2, 3, 4, 5])
        console.log(set.size)//5

set.has():判断是否有某个元素

 let set = new Set([1, 2, 3, 4, 5])
        console.log(set.has(1))//true

set.delete:删除元素,并且返回一个bool值,代表删除是否成功

 let set = new Set([1, 2, 3, 4, 5])
        console.log(set.delete(1))//true,删掉了
        console.log(set.has(1))//false,没有1
        console.log(set.size)//大小为4

set.values()也可以检测

 console.log(set.values())//SetIterator {2, 3, 4, 5}

set.claer()清空元素,无返回值

  console.log(set.clear())//清空ÿ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值