set 是es6新出的一种数据结构,里边放的是数组。 作用:去重(set里边的数组不能重复)
MDN:Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。

总结:

1.成员唯一、无序且不重复;
2.[value, value],键值与键名是一致的(或者说只有键值,没有键名);
3.可以遍历,方法有:add、delete、has、clear、entries、forEach、keys、values
3.Set也能用来保存NaN和undefined, 如果有重复的NaN, Set会认为就一个NaN(实际上NaN!=NaN);
 
声明一个Set
let setArr = new Set(['ananiah','大诶啊','18']);
console.log(setArr) //Set(3) {"ananiah", "大诶啊", "18"}

增加

//增加
setArr.add('晴空万里');
console.log(setArr) //Set(4) {"ananiah", "大诶啊", "18", "晴空万里"}

查找

//查找
console.log(setArr.has('ananiah')) //true

删除

//删除某个
setArr.delete('18');
console.log(setArr) //Set(3) {"ananiah", "大诶啊", "晴空万里"}
//全部删除
setArr.clear();
console.log(setArr) //Set(0) {}

遍历

//for...of
for(let item of setArr){
console.log(item) //打印全部
}
//forEach
setArr.forEach(value => console.log(value));

查看长度

//size查看长度
console.log(setArr.size) //

数组去重

var array = [0,1,1,2,2,5,5,66,99,65,65];
console.log(Array.from(new Set(array))); //Array(7) [0, 1, 2, 5, 66, 99, 65]
console.log([...new Set(array)]); //Array(7) [0, 1, 2, 5, 66, 99, 65]

ES6-Set的增加、查找、删除、遍历、查看长度、数组去重的更多相关文章

  1. 6个Linux chkconfig命令实例 - 增加,删除,查看和修改services的自动启动选项

    注意:service的安装目录在/etc/rc.d/init.d下,/etc/init.d 是/etc/rc.d/init.d的链接. chkconfig命令用来安装,查看或修改 services随系 ...

  2. JAXP Dom 案例 对xml文件进行增加 查找 删除

    利用 JAXP 对 XML文件 的处理,把xml当做一个数据库来对待

  3. JavaWeb学习记录(九)——Cookie的增加、删除、查看

    一.servlet功能代码: public void doGet(HttpServletRequest request, HttpServletResponse response)           ...

  4. Java关于链表的增加、删除、获取长度、打印数值的实现

    package com.shb.java; public class Demo8 { public Node headNode = null; /** * @param args * @date 20 ...

  5. iOS --SQL的增加、删除、查找、修改

    iOS对于数据库的操作:增加.删除.查找.修改 首先需要创建一个数据库:本程序的数据库是在火狐浏览器里的插件里写的微量型数据库 火狐找查找SQLite Manager的步骤: 第一步:在工具栏找到附加 ...

  6. ES6-map数据结构,增加、删除、查找 方法(set get has delete clear ) 属性:size

    map数据结构: 本质上是键值对的集合,类似集合: 可以遍历,方法很多,可以跟各种数据格式转换. let json = { name:'ananiah', age:'18' } //效率低 需要遍历j ...

  7. 使用oracle数据库,多用户同时对一个表进行增加,删除,修改,查看等操作,会不会有影响?

    使用oracle数据库,多用户同时对一个表进行增加,删除,修改,查看等操作,会不会有影响? 1.问题:各操作间或者性能上会不会有影响? 如果有该如何解决? 多用户操作的影响主要是回锁定记录,oracl ...

  8. python3之对本地TXT文件进行增加,删除,修改,查看功能。

    由于是初学,代码如有不足,欢迎指出! 本博客记录我的编程之路,记录所学到的知识,分享所学心得! 这是我的一个作业. 首先分析要求: 创建一个TXT文件用于存储账号与密码 实现对文件进行增加,删除,修改 ...

  9. typedef的用法 单向链表的查找、增加、删除、销毁。

    一:typedef的用法.    写一个数据结构(计算机存储数据的一种方式,是抽象的,可以人为组织,提高算法效率),我们需要注意:接口友好,模块化,规范命名等方面,在接口友好方面,typedef是非常 ...

随机推荐

  1. 在Windows10中安装与配置Nginx

    一.使用环境: Windows 10 1909 nginx 1.16.1 二.安装与配置: 1. 打开链接,http://nginx.org/en/download.html 下载稳定版本nginx ...

  2. C# 生成全球唯一标识符GUID

    string strguid = Guid.NewGuid().ToString();//57d99d89-caab-482a-a0e9-a0a803eed3ba 生成标准的标志符 (36位标准)st ...

  3. Winform中实现将照片剪贴到系统剪切板中(附代码下载)

    场景 效果 点击剪切按钮 点击粘贴按钮 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免 ...

  4. Android 项目优化(七):阿里巴巴Android开发手册整理总结

    本来之前觉得Android项目优化系列的文章基本整理完毕了,但是近期看了一下<阿里Android开发手册>有了很多收获,想再整理一篇,下面就开始吧. 先在这里列一下之前整理的文章及链接: ...

  5. Python—解析HTML页面(HTMLParser)

    HTMLParser类的定义及常用方法 类的定义 HTMLParser主要是用来解析HTML文件(包括HTML中无效的标记). 参数convert_charrefs表示是否将所有的字符引用自动转化为U ...

  6. Pikachu-环境搭建

    1.首先进行基础环境——本地服务器搭建. 这里使用xampp实现. 首先安装软件 配置apache 启动xampp以搭建本地服务器 2.安装Pikachu 配置xampp数据库信息 打开config. ...

  7. C++ std::deque 基本用法

    #include <iostream> #include <string> #include <deque> // https://zh.cppreference. ...

  8. JavaScript图形实例:布纹图案

    1.椭圆型布纹图案 先在HTML页面中设置一个画布. <canvas id="myCanvas" width="300" height="300 ...

  9. 解决bcp导出CSV文件没有表头

    思路: 1.输出表头文件到指定目录 2.bcp导出csv文件到temp目录 3.将以上导出文件与表头文件合并 4.删除temp目录下的文件 实现: create proc exportCSV ( @i ...

  10. Git实战指南----跟着haibiscuit学Git(第三篇)

    笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...