专栏首页前端路桥Javascript[0x09] -- 集合

Javascript[0x09] -- 集合

集合是由一组无序且唯一(即不能重复)的项组成的。这个数据结构使用了与有限集合相同的数学概念,但应用在计算机科学的数据结构中。

相关概念与方法

  • add(value):向集合添加一个新的项。
  • delete(value):从集合移除一个项。
  • has(value):如果值在集合中,返回true,否则返回false。
  • clear():移除集合中的所有项。
  • size():返回集合所包含元素的数量。与数组的length属性类似。
  • values():返回一个包含集合中所有值的数组。
  • 并集:对于给定的两个集合,返回一个包含两个集合中所有元素的新集合
  • 交集:对于给定的两个集合,返回一个包含两个集合中共有元素的新集合。
  • 差集:对于给定的两个集合,返回一个包含所有存在于第一个集合且不存在于第二个集合的元素的新集合。
  • 空集。空集就是不包含任何元素的集合。无序性,互斥性,唯一性。
  • 子集:验证一个给定集合是否是另一集合的子集。

搭框架

实现的时候一个巧妙的点,是使用对象而不是数组表示集合,我们知道Javascript中一个键只有一个值。

相关方法实现

has(value)
add(value)
remove(value)
clear()
size()
values()

这里按照思路返回的是个数组,笔者当时为了更直观地进行测试所以给它String了一下,放到下文的集合操作返回的是数组而不是字符串这里提及一下。

union(otherSet)
intersection(otherSet)
difference(otherSet)
subset(otherSet)

参考文献

《学习JavaScript数据结构与算法(第2版)》

本文分享自微信公众号 - 前端路桥(ataola),作者:丰臣正一

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-03-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 软件推荐(zeal) -- API文档工具

    丰臣正一
  • 软件推荐(蜜蜂剪辑) -- 剪辑软件(限免)

    今天是软件专场的倒数第84场,跟大家分享的是逼格很高操作很傻瓜式的剪辑软件--蜜蜂剪辑。最重要的是它限免,恰逢年终需要做一些逼格很高的视频来诉说2019的辛酸...

    丰臣正一
  • 分享一个关于Cookie做的实验结果

    去网上搜了下关于Cookie的介绍,看了好几篇都长得很一样,阉割一下内容不外乎说是"不同浏览器限制cookie数不同,大致在30-50这个范围,(前缀)浏览器允...

    丰臣正一
  • Python入门(12)

    集合(set)是一个无序不重复的序列。通常,我们使用集合来消除重复元素,或者用于测试两个序列的关系:交集、并集或差集?

    高一峰
  • Python内置数据结构之集合

    今天给大家介绍内置数据结构集合的用法。 看一下集合的思维导图: ? 集合的特点 元素是唯一的 元素是无序的,不是线性结构 集合元素是可hash的 聚合的含义和数...

    1846122963
  • Python_实用入门篇_12

    具有某种特定性质的事物的总体,集合里的东西叫作元素。Python中,集合(set)是一个无序不重复元素的序列。

    py3study
  • 魔术里的集合、映射和关系(二)——集合怎么用?

    要知道,集合本身代表的是真真切切的对象的总体,而我们日常交流中又不可能真的把这些实物拿过来才能表示相应的集合,因此,我们需要用一组数学符号来代表这些真实的集合,...

    magic2728
  • 4.93Python数据类型之(8)集合

    py3study
  • 2018-09-21 JAVA的集合类关系总结,基础知识太不扎实了

    *面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式。

    Albert陈凯
  • java.util.Collection[源码解读(上)]

    本文主要介绍Collection接口的用途。接口的作用是什么呢?我的理解是四个字:制定标准。就像USB接口,尺寸、结构、排线都是统一的,只要是标准USB设备,都...

    小诸葛

扫码关注云+社区

领取腾讯云代金券