【ES6新特性】set对象
文章目录
- @[TOC](文章目录)
- 前言
- 一、Set对象是什么?
- 二、基础使用
- 1.创建set对象 new Set()
- 2.添加数据 add()
- 3、删除数据 delete()
- 4、检测是否含有一个数据 has()
- 5、清空set对象 clear()
- 6、将set对象转换成数组
- 三、扩展使用
- 1、数组去重
- 2、数组并集
前言
ES6新特性复习记录文档
一、Set对象是什么?
Set是 ES6 新提出的一种对象,是一种数据结构
Set的一个重要特性就是集合中是不允许添加重复元素的
如果是简单数据类型,会使用精确相对运算符号 === 判断是否是全等的
如果是引用的数据类型,则判断内存地址是否一样
特殊的NaN由于其本身在就不等于自己,所以需要特殊对待视为相等的
二、基础使用
1.创建set对象 new Set()
使用 new 方法去声明 Set这个构造函数
set中不会有相同的数据 多用于数据去重
var arr = [1,2,3,4,4,5]console.log(arr); //(6) [1, 2, 3, 4, 4, 5]//创建var val = new Set(arr)// 使用console.log(new Set(arr)); // Set(5) {1, 2, 3, 4, 5}
2.添加数据 add()
Set 中不会添加相同的数据
//添加val.add(1)console.log(val); //Set(5) {1, 2, 3, 4, 5}val.add(7)console.log(val); //Set(6) {1, 2, 3, 4, 5, 7}
3、删除数据 delete()
//删除val.delete(1)console.log(val); // Set(5) {2, 3, 4, 5, 70}
4、检测是否含有一个数据 has()
会返回一个布尔值
//判断是否含有console.log(val.has(1)); // falseconsole.log(val.has(2)); // true
5、清空set对象 clear()
//清空val.clear()console.log(val); //Set(0) {size: 0}
6、将set对象转换成数组
使用Array.from
//转换成数组var newVal = Array.from(val)
使用扩展运算符
var newVal = [...val]console.log(newVal); //(5) [2, 3, 4, 5, 7]
三、扩展使用
1、数组去重
var arr1 = [1,2,3,3,4]var arr2 = [1,2,5,5,'k']//拼接数组var oldArr1 = arr1.concat(arr2)console.log(oldArr1); // (10) [1, 2, 3, 3, 4, 1, 2, 5, 5, 'k']//set去重var newVal1 = new Set(oldArr1)console.log(newVal1); // Set(6) {1, 2, 3, 4, 5, …}//转换成数组var newArr1 = [...newVal1]console.log(newArr1); // (6) [1, 2, 3, 4, 5, 'k']
2、数组并集
var arr3 = [1,2,3,3,4]var arr4 = [1,2,5,5,'k']var oldArr2 = new Set(arr3)var oldArr22 = new Set(arr4)var newVal2 = new Set([...oldArr2,...oldArr22])console.log(newVal2); // Set(6) {1, 2, 3, 4, 5,'k'}
【ES6新特性】set对象相关推荐
- ES6新特性_ES6对象添加Symbol类型属性---JavaScript_ECMAScript_ES6-ES11新特性工作笔记016
然后我们再来看,给对象添加symbol类型的属性, 这个这样做的目的就是: 保证我们添加的方法或属性是唯一的,因为我们知道 我们的symbol这个属性是有唯一性的. 首先我们有个 let game = ...
- ES6新特性_ES6对象的简化写法---JavaScript_ECMAScript_ES6-ES11新特性工作笔记008
然后我们再看一下,对象的简化写法 可以看到我们先声明,一个name,一个change方法 然后以前我们声明const变量,然后需要上面这样写 name:name change:change 现在不用了 ...
- ES6新特性_Promise对象的catch方法---JavaScript_ECMAScript_ES6-ES11新特性工作笔记029
然后我们看promise的catch方法. 之前写代码的时候可以,出错了,会调用p.then的第二个函数, 我们写完去测试一下 看到出错了. 然后我们再去看看,其实出错了,我们除了可以用 p.then ...
- es6 获取对象的所有值_前端开发必备 - ES6 新特性之 Set和Map数据结构
往期回顾: 前端开发必备 - ES6 新特性之 let 和 const 命令 前端开发必备 - ES6 新特性之 变量的解构赋值 前端开发必备 - ES6 新特性之 字符串的拓展 前端开发必备 - E ...
- javascript ES6 新特性之 扩展运算符 三个点 ...
对于 ES6 新特性中的 ... 可以简单的理解为下面一句话就可以了: 对象中的扩展运算符(...)用于取出参数对象中的所有可遍历属性,拷贝到当前对象之中. 作用类似于 Object.assign() ...
- html5 跳转参数不显示_HTML5、CSS3、ES6新特性总结
前言:HTML5.CSS3.ES6新特性,可以说是基础前端的面试的必考题了,以下是关于新特性的基本总结. HTML5: 语义化的区块和段落元素:<section>,<article& ...
- 尚硅谷es6新特性笔记
尚硅谷es6新特性笔记 一.let与const let的变量声明以及声明特性 const的变量声明以及声明特性 const.let.var 三者之间的区别 二.变量解构赋值 三.模板字符串 四.对象的 ...
- lsdyna如何设置set中的node_list_如何快速掌握es6+新特性及核心语法?
国庆刚刚结束,我们开始一波新的学习进程吧. ECMAScript 6.0(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了.作为前端必备技能,我们来快速开始吧 接 ...
- ES6新特性----面试
ES6新特性 关键字 let关键字 const关键字 解构赋值 变量的解构赋值 数组的解构赋值 对象的解构赋值 字符串的解构赋值 数值和布尔值的解构赋值 函数参数的解构赋值 用途 模板字符串 箭头函数 ...
- ES6新特性16-Class
ES6新特性16-Class 文章目录 ES6新特性16-Class 一.Class介绍和初体验 二.class静态成员 三.构造函数继承 四.子类对父类方法的重写 五.get和set 一.Class ...
最新文章
- 多通道_多通道光纤滑环与单通道光纤滑环的设计原理区别
- ArrayList使用
- 如何成为Java开发工程师?需要掌握哪些技能?
- 30件你不知道可以通过Internet来办到的事
- 万字干货,eBPF 中文入门指南
- 【Python】 _tkinter.TclError: bitmap xzw.ico not defined
- java技术管理的简历_基于javaweb个人简历生成及管理系统.doc
- 网盘共享文件有病毒吗?
- PR软件有哪些辅助功能?Premiere Pro 的辅助功能介绍
- 赶紧看看吧 Linksys路由器 出事了
- Unity - Timeline 自定义剪辑,轨道,混合轨道,Inspector属性显示(使用Default Playables辅助工具)
- Space Shooter
- 性能测试分析之-CPU时间分类与饱和度
- NEU 1690 (最短路+LCA)
- 对#Hello,2015征文#+Android 热敏打印机打印二维码(图片)博客的尝试
- 计算机仿真技术生物,基于计算机仿真技术的人体生理特性和病理机制研究
- while true java_Java中对while(true)的理解
- 【python爬虫专项(28)】链家二手房源数据采集1(分页信息采集)
- 夏影 ~あの飞行机云を超えた、その先へ~
- 【ArcGIS微课1000例】0055:根据图层创建自定义图例符号案例教程
热门文章
- 《计算机科学概论(第12版)》—第0章0.2节计算机器的由来
- VS Code Material Icon Theme插件设置自定义文件夹图标关联
- iOS应用崩溃日志分析
- 计算机科学基础word实验一,【实验2】熟悉WORD界面及其基本操作
- python金融衍生品有哪些_什么是金融衍生品,金融衍生品有哪些?
- 关于资产分池ABS等金融衍生品内容来袭
- 计算机外文文献PDF,computer network 计算机 网络 外文文献.pdf
- 土豆网电影在线观看客户端官方版
- ubuntu18.0.4 无线网卡无法上网解决!
- 一名数据分析师的工作职责和需要掌握的基本知识