一.ES6 Set数据结构

ES6新推出了Set数据结构,它与数组很类似,Set内部的成员不允许重复,每一个值在Set中都是唯一的,如果有重复的值出现
会自动去重(也可以理解为忽略掉),返回的是集合对象本身,所以可以链式调用,具体用法如下:

上述代码中Set以add的形式链式调用,当遇到重复的add(2),会自动去重,另外列举下Set的其他方法

//s.size可以通过size获取Set集合中的长度与数组中的length相同道理
//s.has(2)方法 判断集合中是否存在某个特定的值 返回布尔值
//s.delete(100)删除集合中的某个值 删除成功返回布尔值
//s.clear() 方法 清除集合中的全部内容

//上图中result1为去重后生成的数组 //result2也为去重后的数组

二.Map 数据结构

Map数据结构严格意义上位键值对的集合,来映射数据之间的对应关系,可以以任意类型的值作为键(key值) ,同样有has,delete,clear()方法,

与Set方法类似,就不演示了。

三.Symbol

ES6之前对象的属性名都是字符串,但是有个缺陷,字符串有可能是被重复的,比如两个js文件都有一个key值为foo,则后面的会把前面的

覆盖掉,尤其引用第三方模块,你不清楚它是否有这个属性,举例说明如下:

比如:const a={}

a[''foo"]='123456'

a["foo"]="456789"

则后面的会把前面的覆盖掉

为了解决这个问题,ES6出现了一种新的原始数据类型Symbol,表示一个独一无二的属性,也是Symbol最主要的作用

最新文章

  1. Solved: “Cannot execute a program. The command being executed was \roslyn\csc.exe”
  2. C#使用资源文件的方法
  3. shell面试题目总结
  4. Ubuntu mysql
  5. java异常类结构图
  6. Lambda表达式公共拼接函数(原创)
  7. 转: JSTL SQL标签库 使用
  8. 【Spark】---- Spark 硬件配置
  9. mockmvc 静态引入
  10. maven 多套环境 配置(开发、测试、预发、正式)
  11. Review PHP设计模式之——注册模式
  12. POJ 2449 Remmarguts' Date (SPFA + A星算法) - from lanshui_Yang
  13. [编织消息框架][netty源码分析]7 Unsafe 实现类NioSocketChannelUnsafe职责与实现
  14. 解决PhpStorm卡顿的问题
  15. Redhat终端中文乱码解决
  16. WPF参考
  17. C# ZipHelper C#公共类 -- ICSharpCode.SharpZipLib.dll实现压缩和解压
  18. Linux命令:pigz多线程压缩工具【转】
  19. 【其他】【PL/SQL Developer】【1】解决PL/SQL Developer过期的情况
  20. 25.安装配置phantomjs

热门文章

  1. Python使用import导入模块时报ValueError: source code string cannot contain null bytes的解决方案
  2. Java基础学习之面向对象(4)
  3. 团队作业part5--测试与发布(Alpha版本)
  4. Linux下安装视频转换工具ffmpeg
  5. APIO2012 苦无 Kunai
  6. Java并发编程的艺术(二)——volatile、原子性
  7. 未雨绸缪,数据保护之NBU介质备份
  8. html 09-HTML5详解(三)
  9. 如何从零开发一个NuGet软件包?
  10. JavaScript之经典面试题