JavaScript数据结构——集合的实现与应用

  与数学中的集合概念类似,集合由一组无序的元素组成,且集合中的每个元素都是唯一存在的。可以回顾一下中学数学中集合的概念,我们这里所要定义的集合也具有空集(即集合的内容为空)、交集、并集、差集、子集的特性。

  在ES6中,原生的Set类已经实现了集合的全部特性,稍后我们会介绍它的用法。

  我们使用JavaSctipt的对象来表示集合,下面是集合类的主要实现方法:

class Set { constructor () { this.items = {}; } add (value) { // 向集合中添加元素 if (!this.has(value)) { this.items[value] = value; return true; } return false; } delete (value) { // 从集合中删除对应的元素 if (this.has(value)) { delete this.items[value]; return true; } return false; } has (value) { // 判断给定的元素在集合中是否存在 return this.items.hasOwnProperty(value); } clear() { // 清空集合内容 this.items = {}; } size () { // 获取集合的长度 return Object.keys(this.items).length; } values () { // 返回集合中所有元素的内容 return Object.values(this.items); } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpgxfs.html