/*** 数据结构 Set*/// -----------------------------------------------------
/*** 集合的基本概念:集合是由一组无序且唯一(即不能重复)的项组成的。这个数据结构使用了与有限集合相同的数学概念,应用在计算机的数据结构中。* 特点:key 和 value 相同,没有重复的 value。** ES6 提供了数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。*/
// -----------------------------------------------------
// 1 如何创建一个 Setconst s = new Set([1, 2, 3]);console.log(s); // Set {1, 2, 3}// -----------------------------------------------------
// 2 Set 类的属性 console.log(s.size); // 3// -----------------------------------------------------
// 3 Set 类的方法// 1 set.add(value) 添加一个数据,返回Set结构本身。s.add('a').add('b').add('c');console.log(s); // Set {1, 2, 3, "a", "b", "c"}// 2 set.delete(value) 删除指定数据,返回一个布尔值,表示删除是否成功。console.log(s.delete('a')); // true
console.log(s); // Set {1, 2, 3, "b", "c"}console.log(s.delete('a')); // false// 3 set.has(value) 判断该值是否为Set的成员,反回一个布尔值。console.log(s.has('a')); // false
console.log(s.has(1)); // true// 4 set.clear() 清除所有数据,没有返回值。s.clear();console.log(s); // Set {}// 5 keys() 返回键名的遍历器const s = new Set(["a", "b", "c"]);
console.log(s.keys()); // SetIterator {"a", "b", "c"}// 6 values() 返回键值的遍历器console.log(s.values()); // SetIterator {"a", "b", "c"}// 7 entries() 返回键值对的遍历器console.log(s.entries()); // SetIterator {["a", "a"], ["b", "b"], ["c", "c"]}// 8 forEach() 使用回调函数遍历每个成员s.forEach(function (value, key, set){console.log(value + ' miaov');
});console.log(s);// -----------------------------------------------------// set集合中不能有重复数据,向上面set中再加个“a”,仍不变
s.add("a");console.log(s); // Set {"a", "b", "c"}

转载于:https://www.cnblogs.com/cckui/p/7711477.html

ECMAScript6——Set数据结构相关推荐

  1. ECMAScript6入门教程(一)

    1.什么是ECMA 1.1 什么是ECMA ECMA(European Computer Manufacturers Association)中文名称为欧洲计算机制造商协会,这个组织的目标是评估.开发 ...

  2. JavaScript数据结构与算法——链表详解(上)

    注:与之前JavaScript数据结构与算法系列博客不同的是,从这篇开始,此系列博客采用es6语法编写,这样在学数据结构的同时还能对ECMAScript6有进一步的认识,如需先了解es6语法请浏览ht ...

  3. ES6(ECMAScript6)-ES11 从入门到修仙

    ES6:ECMAScript6 一.ES6新特性 1.let变量声明以及声明特性 1.1 let let 关键字用来声明变量,使用 let 声明的变量有以下几个特点: let a; let b,c,d ...

  4. 学习笔记——ECMAScript6

    EcmaScript6 一. 声明变量常量 let关键字声明变量,特性:①变量不能重复声明②块级作用域:在 let 命令所在的代码块内有效③不存在变量声明提前,不允许在变量声明之前使用变量④不影响作用 ...

  5. 数据结构(08)— 线性单链表基本操作

    1. 线性单链表数据结构 // 假定每个结点的类型用 SNode 表示 typedef struct SNodeTag {int data; // 所存储的数据元素SNodeTag *next; // ...

  6. 数据结构(06)— 线性循环链表实战

    1. 循环链表定义 单链的循环链表结点的存储结构和单链表的存储结构一样, 所不同的是: 最后一个结点的 next 域指向头结点, 而不是"空".这样, 由表尾很容易找到表头. 但若 ...

  7. 数据结构(05)— 线性单链表实战

    1. 设计思路 本项目的实质是完成对考生信息的建立.查找.插入.修改.删除等功能,可以首先定义项目的数据结构,然后将每个功能写成一个函数来完成对数据的操作,最后完成主函数以验证各个函数功能并得出运行结 ...

  8. 数据结构(04)— 线性顺序表实战

    1. 设计思路 本实战的实质是完成对学生成绩信息的建立.查找.插入.修改.删除等功能,可以首先定义项目的数据结构,然后将每个功能写成一个函数来完成对数据的操作,最后完成主函数以验证各个函数功能并得出运 ...

  9. 数据结构(03)— 数据处理基本操作(数据的查找、新增、删除、修改)

    我们先来看一个关于查找的例子.查找,就是从复杂的数据结构中,找到满足某个条件的元素.通常可从以下两个方面来对数据进行查找操作:​ 根据元素的位置或索引来查找: 根据元素的数值特征来查找. 针对上述两种 ...

最新文章

  1. 从Developer Removed From Sale 回到可下载状态的方法
  2. 400名微软员工主动曝光薪资:28万元到228万元不等!
  3. 关系数据库的设计理论
  4. 把自定义url配置到SAP Fiori Launchpad上打开
  5. 程序员过关斩将——数据库的乐观锁和悲观锁并非真实的锁
  6. Android——RelativeLayout(相对布局)
  7. cv2.add和cv2.subtract图像加减法运算
  8. 免费下载《程序员面试宝典》.pdf
  9. simulink与gt联合仿真问题求解
  10. 极客时间MySQL实战45讲笔记
  11. 数据存储服务(存储服务器搭建细谈)
  12. 东方博易OJ——1002 - 【入门】编程求解1+2+3+...+n
  13. Word控件Spire.Doc 【邮件合并】教程(三):如何创建邮件合并和合并文本值
  14. HaLoop——适用于迭代计算的Hadoop
  15. vue中使用element-ui时单元格内换行的问题
  16. js 判断是否为 Android IOS IPAD IPHONE 等移动设备访问
  17. ArcGIS API For Javascript 4.15 绘制地图:在地图上绘制点和面
  18. Access数据库——Cookie注入
  19. 初学stm32单片机可以做什么简单的小作品?
  20. 如何使用HbuilderX运行小程序项目

热门文章

  1. SLAM的开源以及在移动端AR的适用分析
  2. Squid的refresh_pattern配置
  3. Spring源码分析【3】-SpingWebInitializer的加载
  4. 自己写的内存池Slabs
  5. 码农技术炒股之路——抓取日线数据、计算均线和除权数据
  6. FFmpeg中libavutil库简介及测试代码
  7. Brute Force算法介绍及C++实现
  8. windows7 64位机上配置MinGW+Codeblocks+ wxWidgets
  9. 【linux】嵌入式中 crontab的使用
  10. 为什么博图中放置按下按钮无反应_如何更好的设计按钮