js set集合

时间:2022-10-31 12:28

js中set集合是什么呢?不知道的小伙伴来看看小编今天的分享吧!

1、set集合的定义

集合成员是无序的,是不重复的一组成员。

开发中可用于去除重复数据

set集合和map不一样。这里只实现了set集合的方法。

map是用哈希结构的定义来实现的,本质上也是对数组和链的结合。

js set集合

2、封装对象

此处用对象的方式来实现集合functionSet(){this.items={}}

3、新增值

默认set的健名是其健值Set.prototype.add=function(value){if(this.has(value)){returnfalse}this.items[value]=valuereturntrue}

4、删除值

Set.prototype.has=function(value){returnthis.items.hasOwnProperty(value)}Set.prototype.remove=function(value){if(!this.has(value)){returnfalse}deletethis.items[value]returntrue}

5.一般方法

Set.prototype.clear=function(){this.items={}}Set.prototype.size=function(){returnObject.keys(this.items).length}Set.prototype.values=function(){returnObject.keys(this.items)}

6、并集

Set.prototype.union=function(otherSet){varunionSet=newSet()varvalues=this.values()for(vari=0;i<values.length;i++){unionSet.add(values[i])}values=otherSet.values()for(vari=0;i<values.length;o++){unionSet.add(values[i])}returnunionSet}

7、交集

Set.prototype.intersection=function(otherSet){varintersectionSet=newSet()varvalues=this.values()for(vari=0;i<values.length;i++){varitem=values[i]if(otherSet.has(item)){intersectionSet.add(item)}}returnintersectionSet}

8、补集

Set.prototype.difference=function(otherSet){vardifferenceSet=newSet()varvalues=this.values()for(vari=0;i<values.length;i++){varitem=values[i]if(!otherSet.has(item)){differenceSet.add(item)}}returndifferenceSet}

9、子集

Set.prototype.subset=function(otherSet){varvalues=this.values()for(vari=0;i<values.length;i++){varitem=values[i]if(!otherSet.has(item)){returnfalse}}returntrue}

以上就是小编今天的分享了,希望可以帮助到大家。

标签:
随便看看
本类推荐
本类排行
热门标签

我国国家通讯社行不行啊细狗新年贺词祝福语2023年祝福语新年新年贺词新年贺词祝福语居家抗病毒小药箱除夕高速免费吗2022年除夕高速免费吗春联春联句子大全春联句子大全七字年夜饭十二道菜年夜饭十二道菜单年夜饭吃什么年夜饭吃什么菜吃年夜饭的寓意年夜饭黑芝麻菊花茶晒菊花茶腌腊肉送妈妈生日礼物汉白玉送闺蜜水钻送女人礼物爸爸生日送礼物送老公