zoukankan      html  css  js  c++  java
  • set数据类型

                SET 数据类型
                是一个类似于 数组 的数据类型
                特点 : 不接受重复的相同的数据
                       同样的数据,在SET数据类型中,只能存储一次

                基本语法:
                    通过构造函数来定义SET数据类型

                    const set = new Set()   定义一个空set

                    如果要在定义set的同时,进行赋值操作,必须要定义一格实参,是数组类型
                    可以接收JavaScript任意支持的数据类型

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

                    set数据类型没有 length 属性 有一个类似的属性 size 
                    也是表示set数据类型,数据单元的个数,长度

                    调用set数据单元,与数组语法类似,也是[]语法 
                    直接使用 [] 语法调用,虽然有size属性,表示是单元个数,直接使用索引下标形式,结果是undefined

                    需要使用 ... 将 set 数据类型,结构为一个数组 
                    const arr = [...set];

                    再使用[]语法,对arr进行操作
                    操作的本质上,是结构之后对应的数组
            */ 

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

            console.log(set);//05_SET数据类型.html:41 Set(5) {1, 2, 3, 4, 5}
            console.log(set[0]);//undefined

            // 将set数据类型中的数据,结构为数组形式存储
            // const arr = [...set];

            // console.log(arr);

            // set类型的小应用---数组去重   

            // 有重复数据的数组
            const arr = [1,2,3,4,5,1,2,3,4,5,1,2,3,4,5,1,2,3,4,5];
            // 将这个数组作为set类型的参数
            // set中只会存储不重复的数据
            // const set = new Set(arr);
            // console.log(set);
            // 再将set类型结构成数组
            // const newArr = [...set];

            const newArr = [...new Set(arr)];
            console.log(newArr);//1, 2, 3, 4, 5


            // set数据类型常用方法

            // (1) add()        set类型新增单元,参数是新增单元的数据
            // (2) delete()     set类型删除单元,参数是删除单元的数据
            // (3) clear()      set类型清除所有单元
            // (4) 使用 forEach 使用forEach循环遍历set单元
            //                  第一个参数和第二个参数,都是单元的数值
            //                  第三个参数,是set数据类型本身

            const set = new Set([1,2,3]);
            set.add('我是新增的');
            // set.delete(3);
            // set.clear();

            set.forEach((item,key,three)=>{
                console.log(item,key,three);//1 1 Set(4) {1, 2, 3, "我是新增的"}
                                            //2 2 Set(4) {1, 2, 3, "我是新增的"}  
                                            //3 3 Set(4) {1, 2, 3, "我是新增的"}
                            //我是新增的 我是新增的 Set(4) {1, 2, 3, "我是新增的"}
            })

            console.log(set);//Set(4) {1, 2, 3, "我是新增的"}
    右侧打赏一下 代码改变世界一块二块也是爱
  • 相关阅读:
    已经有人提出过循环
    中华术数系列之奇门遁甲精简版
    研究下市场上有哪些软件项目/产品,哪些是值得做的?
    中华术数系列之奇门遁甲手机版
    Webbrowser代理支持
    随笔:杂念纷呈
    架构设计实践:基于WCF大型分布式系统(转)
    WCF分布式开发必备知识(3):Enterpise Services(转)
    看完这20部电影 你能变成经济学大师(转)
    WCF服务契约继承与分解设计(转)
  • 原文地址:https://www.cnblogs.com/ht955/p/14170876.html
Copyright © 2011-2022 走看看