定制网站建设哪家好,有没有哪个网站可以做LCM模组,佛山网站排名提升,商丘网站制作案例阅读全文需要 4 分钟。主要介绍对 ES6 中的 Set 集合方法的扩展。阅读本文后#xff0c;你能创建出对 Set 方法扩展#xff0c;并且结合下期内容#xff0c;将其发布到 NPM 中。往期回顾一文了解 JavaScript 中的 Set(集合)一文了解 JavaScript 中的 Set(集合)- 多种去重技巧…阅读全文需要 4 分钟。主要介绍对 ES6 中的 Set 集合方法的扩展。阅读本文后你能创建出对 Set 方法扩展并且结合下期内容将其发布到 NPM 中。往期回顾一文了解 JavaScript 中的 Set(集合)一文了解 JavaScript 中的 Set(集合)- 多种去重技巧上两期介绍了 Set 的基本操作方法Set 的去重和扩展等。本期内容本期对 Set 的常用功能进行扩展文末给出完整源码。为什么对简单的 Set 连续讲几期这里我想解释一下。很多朋友知道假如对开源社区有贡献会为自己面试加分不少。可是往往找不到突破口进行参与。其实为开源作贡献十分简单发现项目或者框架有问题的改正它发现缺少的功能补充它。如果遇到问题等待别人解决其实就是将这样的一个机会让给了其他人。从 Set 的第一期开始看你会看到一个完整的开源贡献过程 ——了解现有功能的局限性产生优化功能的想法实际编码扩展 Set 的功能发布到 NPM 和 Github这几期就是想通过这个简单的例子不单单让大家了解到 Set 的基础知识更是希望大家明白开源贡献没那么高不可攀破除畏难情绪踏出第一步。下面是本期正文。集合的基本操作数学中集合的基本操作包括 ——集合的关系空集子集真子集相等集合的基本运算并集交集全集补集针对集合的这些操作我们使用 Set 进行对应的扩展。空集集合中不存在任何元素即大小为 0。因为我们是扩展 Set所以可以在原型链上对其直接定义方法。子集如果集合 A 中任意一个元素都是集合 B 的元素那么 A 是 B 的子集。核心是遍历当前集合如果当前集合中每个元素都在目标集合中那么当前集合就是目标集合的子集。真子集如果集合 A 是集合 B 的子集且集合 B 中至少有一个元素不属于 A那么 A 是 B 的真子集。这里有一些小技巧根据真子集的定义真子集会比目标集合小。所以通过先比对大小再判断是否属于子集清晰易懂。同样的技巧也应用在判断集合相等中 ——相等两个集合的元素完全相同。集合的大小相等且为子集关系则两个集合相等。并集包含给定所有集合中的元素。所以只需遍历所有集合将其元素合并到一个集合中。交集由所有属于给定集合的共同元素组成。这里也存在一定技巧先获取最大的集合然后通过判断最大集合中的元素是否同时存在于其它集合中来实现。结语全集和补集留待大家思考源码可私信「集合扩展」获取。下期内容就跟大家将这个扩展发布到 NPM 中。这段时间待业在家主要做一些前端的分享毕竟最熟悉是前端这块。个人的技术栈包括 PythonAngularJavaScriptDocker 等。 如果你对哪方面的知识感兴趣或有疑问欢迎一起讨论。最后的最后点收藏的同时不妨点个赞吧:)