set结构详解(案例)

发布于:2023-01-24 ⋅ 阅读:(741) ⋅ 点赞:(0)

目录

​编辑

1.定义和创建

2.遍历Set(使用for  of  )

3.添加一个元素 set.add(  )

4.删除元素

5.判断存在性

6.清除

7.利用Set特性封装数组去重


        set在很多的面向对象编程语言中(java,c++)中都有。在其它的编程语言中,有个集合(容器)的技术名词,集合包括:数组,set,Map等等,都是属于能够保存很多数据的一个集合。

        set类似于数组,但是成员的值都是唯一的,没有重复的值,可以简单的理解为无重复值的数组

 console.dir(Set)

        通过consol.dir(Set)查看一下Set的属性 

1.定义和创建

        Set函数可以接受一个数组(或类似数组的对象)作为参数,用来初始化

如:

   let s1 = new Set([1,2,3,2,1,5,6,7])
        console.log(s1);       //{1,2,3,,5,6,7}
        console.log(s1.size);  // 6

        咱们就是说,创建一个Set 并且输出s1和s1.size(长度),发现了什么?

        发现set去重了,也就是说明了set中成员的值都是唯一的,可以利用此性质完成数组去重的操作.

2.遍历Set(使用for  of  )

 let s1 = new Set([1,2,3,2,1,5,6,7])
 for(let item of s1){
            console.log(item)
        } //1,2,3,5,6,7

3.添加一个元素 set.add(  )

let s1 = new Set([1,2,3,2,1,5,6,7])
        s1.add(12)
        s1.add(2).add(100).add(200)
        console.log(s1);

        通过add( )添加元素,但是添加一个数组有的元素比如说add(2),由于s1中本身就已经有了 2 了所以添加无效.

        add(  )返回的是set本身,,所以可以多个add( )连用添加元素

4.删除元素

let s1 = new Set([1,2,3,2,1,5,6,7])
s1.delete(2)

        删除了s1中的2

5.判断存在性

s1.has(3)        //判断3是不是在s1中 ,返回一个布尔值,表示该值是否为Set的成员

6.清除

s1.clear()      //清除所有成员,没有返回值

7.利用Set特性封装数组去重

function noRepeat(arr){
    let s1 = new Set(arr);
    let arr2 = [];
    for(let i of s1){
        arr2.push(i);
    }
    return arr2;
}


网站公告

今日签到

点亮在社区的每一天
去签到