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, "我是新增的"}

set数据类型的更多相关文章

  1. JavaScript 中的数据类型

    Javascript中的数据类型有以下几种情况: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Function,Date,Ar ...

  2. JS 判断数据类型的三种方法

    说到数据类型,我们先理一下JavaScript中常见的几种数据类型: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Functi ...

  3. Python高手之路【二】python基本数据类型

    一:数字 int int(整型): 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取值 ...

  4. UniqueIdentifier 数据类型 和 GUID 生成函数

    UniqueIdentifier 数据类型用于存储GUID的值,占用16Byte. SQL Server将UniqueIdentifier存储为16字节的二进制数值,Binary(16),按照特定的格 ...

  5. SQL Server常见数据类型介绍

    数据表是由多个列组成,创建表时必须明确每个列的数据类型,以下列举SQL Server常见数据类型的使用规则,方便查阅. 1.整数类型 int 存储范围是-2,147,483,648到2,147,483 ...

  6. 由js apply与call方法想到的js数据类型(原始类型和引用类型)

    原文地址:由js apply与call方法想到的js数据类型(原始类型和引用类型) js的call方法与apply方法的区别在于第二个参数的不同,他们都有2个参数,第一个为对象(即需要用对象a继承b, ...

  7. python 数据类型 ----字典

    字典由一对key:value 组成的 python中常用且重量级的数据类型 1. key , keys, values 字典由一对key:value 组成的 python中常用且重量级的数据类型 1. ...

  8. SQL数据类型

    1.Character 字符串: 数据类型 描述 存储 char(n) 固定长度的字符串.最多8,000个字符. n varchar(n) 可变长度的字符串.最多8,000个字符.   varchar ...

  9. 跟着老男孩教育学Python开发【第二篇】:Python基本数据类型

    运算符 设定:a=10,b=20 . 算数运算 2.比较运算 3.赋值运算 4.逻辑运算 5.成员运算 基本数据类型 1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**3 ...

  10. 我的MYSQL学习心得(二) 数据类型宽度

    我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

随机推荐

  1. 浅析Golang map的实现原理

    Golang中的map底层使用的数据结构是hash table,基本原理就和基础的散列表一致,重点是Golang在设计中采用了分桶(Bucket),每个桶里面支持多个key-value元素的这种思路, ...

  2. 基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台

    简介: 本文将对 RocketMQ-Exporter 的设计实现做一个简单的介绍,读者可通过本文了解到 RocketMQ-Exporter 的实现过程,以及通过 RocketMQ-Exporter 来 ...

  3. [DApp] Moralis 无服务架构方式构建 DApp

    Moralis 提供的使用功能包括三个方面: 进一步封装Web3功能的 Moralis SDK,极大方便了开发者对于DApp基础功能的开发,比如 MetaMask登录验证,签名,IPFS集成,DApp ...

  4. [MongoDB] Mongo 表字段添加索引, 查看索引, 删除索引

    查看索引: db.getCollection('xx').getIndexes(); 创建索引: # 1 代表升序,-1代表降序,name 指定索引名 db.getCollection('xx').c ...

  5. dotnet 在 UOS 国产系统上使用 MonoDevelop 进行拖控件开发 GTK 应用

    先从一个 Hello World 应用开始,试试和古老的 WinForms 一样的拖控件式开发 在创建完成一个 GTK# 2.0 应用之后,咱可以试试开始拖控件的开发,当然这个开发方式开发出来的应用界 ...

  6. pnpm的基本原理及快速使用

    基本原理 前置知识:软件链接与硬链接 软链接(符号链接Symbolic link):是一类特殊的文件, 其包含有一条以绝对路径或者相对路径的形式指向其它文件或者目录的引用.在window快捷方式上和其 ...

  7. 🎉 Socket.D v2.4.12 发布(新增 python 实现)

    Socket.D 协议? Socket.D 是一个网络应用协议.在微服务.移动应用.物联网等场景,可替代 http.websocket 等.协议详情参考<官网介绍>. 支持: tcp, u ...

  8. RT-Thread内存管理

    一.内存管理的特点 分配内存的时间必须是确定的.一般内存管理算法是根据需要存储的数据的长度在内存中去寻找一个与这段数据相适应的空闲内存块,然后将数据存储在里面.而寻找这样一个空闲内存块所耗费的时间是不 ...

  9. [ABC345D] Tiling 位运算の极致运用

    [ABC345D] Tiling 原题解地址:Editorial by Kiri8128 神写法. 将 \(H \times W\) 的网格展开为 \(H \times (W + 1)\) 的序列, ...

  10. Swift File Manager 三种文件路径查找方法对比

    目录 1. 引言 2. 三种文件路径查找方法 2. 1 NSSearchPathForDirectoriesInDomains(_:_:_:) 2.2 urls(for:in:) 2.3 url(fo ...