ES6中的Set数据结构
Set是ES6新推出的数据结构,Set结构里面的每个元素都是唯一的;
如何创建一个Set?
// Set 构造函数接收一个数组进行初始化;如果什么都不传则创建一个空Set;
var set = new Set(["Kuma","Hattori","Yagyu"]);
Set的一些常用方法
// set.has() 用于验证一个元素是否存在于Set中
// set.add() 用于添加唯一成员
// set.size 用于获取Set的长度
// 与数组和Map相同,Set也可以使用for-of遍历;
Set的一些常见操作,交集,并集,差集
var ninjas = new Set(['Kuma','Hattori','Yagyu']);
var samurai = new Set(['Hattori','Oda','Tomoe']);
// 并集 var warriors = new Set([...ninjas,...samurai]);
console.log(warriors); //交集
var ninjaSamurais = new Set(
[...ninjas].filter(ninja => samurai.has(ninja))
)
console.log(ninjaSamurais); //差集
var pureNinjas = new Set(
[...ninjas].filter(ninja => !samurai.has(ninja))
)
console.log(pureNinjas);
Set是可迭代的
var ninjas = new Set(['Kuma','Hattori','Yagyu']);
var samurai = new Set(['Hattori','Oda','Tomoe']);
var warriors = new Set([...ninjas,...samurai]); for (const iterator of warriors) {
console.log(iterator)
}
/**
Kuma
Hattori
Yagyu
Oda
Tomoe */
Set中的成员必须是唯一的!
ES6中的Set数据结构的更多相关文章
- ES6中的Set、Map数据结构
Map.Set都是ES6新的数据结构,他们都是新的内置构造函数.也就是说typeof的结果,多了两个. 他们是什么: Set是不能重复的数组. Map是可以任何东西当做键的对象: ES6 提供 ...
- ES6中的Set与Map数据结构
本文实例讲述了ES6学习笔记之Set和Map数据结构.分享给大家供大家参考,具体如下: 一.Set ES6提供了新的数据结构Set.类似于数组,只不过其成员值都是唯一的,没有重复的值. Set本身是一 ...
- ES6中map数据结构学习
在项目中遇到一个很恶心的需求,然后发现ES6中的map可以解决,所以简单学习了一下map. Javascript的Object本身就是键值对的数据结构,但实际上属性和值构成的是“字符串-值”对,属性只 ...
- ES6中Map数据结构学习笔记
很多东西就是要细细的品读然后做点读书笔记,心理才会踏实- Javascript对象本质上就是键值对的集合(Hash结构),但是键只能是字符串,这有一定的限制. 1234 var d = {}var e ...
- ES6中的Set和Map集合
前面的话 在ES6标准制定以前,由于可选的集合类型有限,数组使用的又是数值型索引,因而经常被用于创建队列和栈.如果需要使用非数值型索引,就会用非数组对象创建所需的数据结构,而这就是Set集合与Map集 ...
- ES6中的解构赋值
在解释什么是解构赋值前,我们先来看一下, ES5 中对变量的声明和赋值. var str = 'hello word'; 左边一个变量名,右边可以是字符串,数组或对象. ES6 中增加了一种更为便捷的 ...
- ES6中Set 和 Map用法
JS中Set与Map用法 一.Set 1.基本用法 ES6 提供了新的数据结构 Set.它类似于数组,但是成员的值都是唯一的,没有重复的值. Set 本身是一个构造函数,用来生成 Set 数据结构. ...
- es6学习笔记8--Map数据结构
Map Map结构的目的和基本用法 JavaScript的对象(Object),本质上是键值对的集合(Hash结构),但是只能用字符串当作键.这给它的使用带来了很大的限制. var data = {} ...
- js ES6 Set和Map数据结构详解
这篇文章主要介绍了ES6学习笔记之Set和Map数据结构,结合实例形式详细分析了ECMAScript中基本数据结构Set和Map的常用属性与方法的功能.用法及相关注意事项,需要的朋友可以参考下 本 ...
- ES6之新增set数据结构
学习set set是ES6中的新增的数据结构,是一种构造函数,类似于数组,但是里面的元素都是唯一的,不重复的. 例如: const set = new Set(); [1,2,3,4,5,2,1,2, ...
随机推荐
- 洛谷P1095
[NOIP2007 普及组] 守望者的逃离 题目背景 恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变. 题目描述 守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上. ...
- 「悬浮捷径SoftCircle」安卓平台的hao123,一键打开万物
罗老师的onestep一步发布之前, 终端的打开形式还拘泥于桌面和负一屏 这种方式够简洁,但缺点明显: 1.入口单一性:只能在app首页和各种扫一扫之间选择和切换 2.操作复杂:入口切换需要频繁的进入 ...
- 全网最适合入门的面向对象编程教程:08 类和对象的Python实现-@property装饰器:把方法包装成属性
全网最适合入门的面向对象编程教程:08 类和对象的 Python 实现-@property 装饰器:把方法包装成属性 摘要: 本文主要对@property 装饰器的基本定义.使用场景和使用方法进行了介 ...
- 在该serializer中使用source参数指定序列化时使用的字段的choices选项
在序列化中获取time_unit字段的中文名称,你可以使用choices选项中定义的第二个值,即元组中的第二个元素.你可以通过定义一个serializer,然后在该serializer中使用sourc ...
- 【jQuery学习日记】从入门到再入门
1,jQuery介绍 jQuery 是一个 JavaScript 库. jQuery 极大地简化了 JavaScript 编程. 2,入门jQuery jQuery有两大核心:jQuery核心函数和j ...
- Vue打包部署到CentOS 7
项目打包 在项目目录下执行打包目录进行打包 yarn build // 或者 npm run build 打包完成后会生成一个dist文件夹,这样就打包完成了(我这样做了SEO的,所有目录结构有点不一 ...
- 【Java】图片上传逻辑
后台逻辑: 后台服务,用Dubbo框架作为一个文件微服务 package cn.ymcd.aisw.service; import cn.ymcd.aisw.dto.RpcResult; /** * ...
- 通用人工智能的基石 —— 人工智能“新基建、关键基础设施”—— 3D游戏引擎
相关: https://www.unrealengine.com/zh-CN/uses/simulation https://www.epicgames.com/site/zh-CN/careers/ ...
- 外观很好看的云盘:一款开源的云盘系统 —— kodcloud
看到一款外观十分好看的开源云盘系统: 下载地址: https://kodcloud.com/explorer/download/ 开源地址: https://github.com/kalcaddle ...
- 【转载】 从零开始编写一个简单的Linux文件系统
版权声明:本文为CSDN博主「shuxiaogd」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csdn.net/shuxiao ...