ES6内置对象 - Set

Set(es6提供的一种数据结构,类似数组,是一个集合,可以存储任何类型的元素且唯一、不重复,so,多用于元素去重

如上图,Set数据结构自带一些方法

1.Set对象创建

let a = new Set([1,2,3,3,1,'2',4,NaN,NaN]);
console.log(a); 
// 打印如下图:
// 自动过滤重复元素,元素唯一不重复;// 注:Set特殊值
(1) +0 与 -0 在存储判断唯一性的时候是恒等的,所以不重复;
(2) undefined 与 undefined 是恒等的,所以不重复;
(3) 虽然 NaN !== NaN,,但是NaN只能存在一个,所以NaN是例外let h = new Set('hello')
//Set(4) {'h', 'e', 'l', 'o'}
//注:Set 中 toString 方法是不能将 Set 转换成 String

2.Set对象添加元素

a.add('b');
console.log(a); // Set(7) {1, 2, 3, '2', 4,NaN,'b'}

3.Set对象删除元素

a.delete(4);
console.log(a);  // Set(6) {1, 2, 3, '2',NaN,'b'}

4. 判断Set对象是否包含某元素

a.has(2);  // true

5. Set对象长度

a.size;  // 6

6.Set对象转化为数组

let b = [...a]; 
或者 
let b = Array.from(a);console.log(b);  //(6) [1, 2, 3, '2', NaN, 'b']//因此可以利用Set对像进行数组去重
let a1 = [1,1,2,3,4,4,5];
a1 = [...new Set(a1)];  //(5) [1,2,3,4,5]

7.Set对象遍历(Set取数据不能用下标取,而是用遍历取

// a 为 Set(6) {1, 2, 3, '2',NaN,'b'}a.forEach((val)=>{ console.log(val)
});或者for(let i of a ){console.log(i)
}

8.

 var a = new Set([1, 2, 3]);var b = new Set([4, 3, 2]);//并集var union = new Set([...a, ...b]); // Set(4) {1, 2, 3, 4}//交集var intersect = new Set([...a].filter(x => b.has(x)));  //Set(2) {2, 3}//差集var difference = new Set([...a].filter(x => !b.has(x)));  //Set(1) {1}

参考:

ES6内置对象的新方法新特性
ES6——ES6内置对象

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/264498.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

spring boot3登录开发-2(1图形验证码接口实现)

⛰️个人主页: 蒾酒 🔥系列专栏:《spring boot实战》 🌊山高路远,行路漫漫,终有归途。 目录 前置条件 内容简介 图形验证码接口实现 导入糊涂工具依赖 接口分析 编写验证码接口 测试验证码接口 前置条件 …

浅浅的画一个STDP的图像吧

stdp最重要的是两个窗口函数 根据这个方程我们刻画出他的轨迹,代码如下 import numpy as np import matplotlib.pyplot as plt# 定义STDP参数 tau_pos 30 # 正向突触权重变化的时间常数 tau_neg 30 # 负向突触权重变化的时间常数 A_pos 0.1 # 正向突触权重变…

都说了别用BeanUtils.copyProperties,这不翻车了吧

分享是最有效的学习方式。 博客:https://blog.ktdaddy.com/ 故事 新年新气象,小猫也是踏上了新年新征程,自从小猫按照老猫给的建议【系统梳理大法】完完整整地梳理完毕系统之后,小猫对整个系统的把控可谓又是上到可一个新的高度。…

[计算机网络]--IP协议

前言 作者:小蜗牛向前冲 名言:我可以接受失败,但我不能接受放弃 如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、IP协议…

大数据构建知识图谱:从技术到实战的完整指南

文章目录 大数据构建知识图谱:从技术到实战的完整指南一、概述二、知识图谱的基础理论定义与分类核心组成历史与发展 三、知识获取与预处理数据源选择数据清洗实体识别 四、知识表示方法知识表示模型RDFOWL属性图模型 本体构建关系提取与表示 五、知识图谱构建技术图…

低功耗设计——门控时钟

1. 前言 芯片功耗组成中,有高达40%甚至更多是由时钟树消耗掉的。这个结果的原因也很直观,因为这些时钟树在系统中具有最高的切换频率,而且有很多时钟buffer,而且为了最小化时钟延时,它们通常具有很高的驱动强度。此外&…

2024Node.js零基础教程(小白友好型),nodejs新手到高手,(九)NodeJS入门——http模块

060_http模块_网页URL之绝对路径 hello,大家好,这一个小题的话我们来补充一个之前学习过的内容,就是网页当中的URL,咱们这个小题的话主要是来说一下绝对路径,有同学可能会说,这这这,不对劲&…

yolov8学习笔记(二)模型训练

目录 yolov8的模型训练 1、制作数据集(标记数据集) 2、模型训练(标记数据集、参数设置、跟踪模型随时间的性能变化) 2.1、租服务器训练 2.2、加训练参数 2.3、看训练时的参数(有条件,就使用TensorBoard&…

nginx设置缓存时间

一、设置缓存时间 当网页数据返回给客户端后,可针对静态网页设置缓存时间,在配置文件内的http段内server段添加location,更改字段expires 1d来实现:避免重复请求,加快访问速度 第一步:修改主配置文件 #修…

vue基础操作(vue基础)

想到多少写多少把&#xff0c;其他的想起来了在写。也写了一些css的 input框的双向数据绑定 html <input value"123456" type"text" v-model"account" input"accou" class"bottom-line bottom" placeholder"请输入…

Vue 卸载eslint

卸载依赖 npm uninstall eslint --save 然后 进入package.json中&#xff0c;删除残留信息。 否则在执行卸载后&#xff0c;运行会报错。 之后再起项目。

ETL快速拉取物流信息

我国作为世界第一的物流大国&#xff0c;但是在目前的物流信息系统还存在着几大的痛点。主要包括以下几个方面&#xff1a; 数据孤岛&#xff1a;有些物流企业各个部门之间的数据标准不一致&#xff0c;难以实现数据共享和协同&#xff0c;容易导致信息孤岛。 操作繁琐&#x…

Fisc: A Large-scale Cloud-native-oriented File System——论文泛读

FAST 2023 Paper 元数据论文阅读笔记汇总 问题和局限性 尽管云原生技术取得了进展&#xff0c;但现有的分布式文件系统不适合多租户云原生应用&#xff0c;原因有两点。 它们的客户端通常较重&#xff0c;导致容器之间的资源复用水平较低。每个客户端都需要保留许多独占资源&…

HDFS中常用的Shell命令 全面且详细

HDFS中常用的Shell命令目录 一、ls命令 二、mkdir 命令 三、put命令 四、get命令 五、mv命令 六、rm命令 七、cp命令 八、cat命令 前言 安装好hadoop环境之后&#xff0c;可以执行hdfs相关的shell命令对hdfs文件系统进行操作&#xff0c;比如文件的创建、删除、修改文…

Vue packages version mismatch 报错解决

问题 npm run dev 运行项目的过程中&#xff0c;报错 Vue packages version mismatch 解决方法 根据报错不难看出是 vue 与 vue-template-compiler 版本产生了冲突&#xff0c;vue 与 vue-template-compiler 的版本是需要匹配的。所以解决的办法就是先修改其中一个的版本将 v…

基于Springboot的旅游网管理系统设计与实现(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的旅游网管理系统设计与实现&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层…

利用nginx内部访问特性实现静态资源授权访问

在nginx中&#xff0c;将静态资源设为internal&#xff1b;然后将前端的静态资源地址改为指向后端&#xff0c;在后端的响应头部中写上静态资源地址。 近期客户对我们项目做安全性测评&#xff0c;暴露出一些安全性问题&#xff0c;其中一个是有些静态页面&#xff08;*.html&…

数据安全策略

当您在第一线担负着确保公司的信息和系统尽可能免受风险的关键职责时&#xff0c;您的数据安全策略需要复杂且多层次。威胁可能有多种形式&#xff1a;恶意软件、黑客攻击、财务或信息盗窃、破坏、间谍活动&#xff0c;甚至是您信任的员工故意或无意的活动造成的。因此&#xf…

c++:蓝桥杯中的基础算法1(枚举,双指针)

枚举 基础概念&#xff1a; 枚举&#xff08;Enum&#xff09;是一种用户定义的数据类型&#xff0c;用于定义一个有限集合的命名常量。在C中&#xff0c;枚举类型可以通过关键字enum来定义。 下面是一个简单的枚举类型的定义示例&#xff1a; #include <iostream>enum…

Android T 远程动画显示流程其二——动画的添加流程(更新中)

前言 接着上篇文章分析 Android T 远程动画显示流程其一 切入点——处理应用的显示过渡 下面&#xff0c;我们以从桌面点击一个应用启动的场景来分析远程动画的流程&#xff0c;窗口添加的流程见Android T WMS窗口相关流程 这里我们从AppTransitionController.handleAppTran…