分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

Set of js

发布时间:2023-09-06 01:23责任编辑:沈小雨关键词:js
function Set() { ???this.dataStore = []; ??};Set.prototype = { ???constructor: Set, ???add: function (data) { ???????if (this.dataStore.indexOf(data) < 0) { ???????????this.dataStore.push(data); ???????????return true; ???????} else { ???????????return false; ???????} ???}, ???remove: function(data) { ???????var pos = this.dataStore.indexOf(data); ???????if (pos > -1) { ???????????this.dataStore.splice(pos, 1); ???????????return true; ???????} else { ???????????return false; ???????} ???}, ???show: function() { ???????return this.dataStore; ???}, ???contains: function(data) { ???????if (this.dataStore.indexOf(data) > -1) { ???????????return true; ???????} else { ???????????return false; ???????} ???}, ???union: function(set) { ???????//合集 ???????if (! (set instanceof Set)) { ???????????return; ???????} ????????var tempSet = new Set(); ???????for (var i = 0; i < this.dataStore.length; ++i) { ???????????tempSet.add(this.dataStore[i]); ???????} ???????for (var i = 0; i < set.dataStore.length; ++i) { ???????????if (!tempSet.contains(set.dataStore[i])) { ???????????????tempSet.dataStore.push(set.dataStore[i]); ???????????} ???????} ???????return tempSet; ???}, ???intersect: function (set) { ???????//交集 ???????var tempSet = new Set(); ???????for (var i = 0; i < this.dataStore.length; ++i) { ???????????if (set.contains(this.dataStore[i])) { ???????????????tempSet.add(this.dataStore[i]); ???????????} ???????} ???????return tempSet; ???}, ???size: function() { ???????return this.dataStore.length; ???}, ???subset: function (set) { ???????//判断是否子集 ???????if (this.size() > set.size()) { ???????????return false; ???????} else { ???????????for (var member in this.dataStore) { ???????????????//不包含 ???????????????if (!set.contains(member)) { ???????????????????return false; ???????????????} ???????????} ???????} ???????return true; ???}, ???difference: function (set) { ???????//补集 ???????var tempSet = new Set(); ???????for (var i = 0; i < this.dataStore.length; ++i) { ???????????if (!set.contains(this.dataStore[i])) { ???????????????tempSet.add(this.dataStore[i]); ???????????} ???????} ???????return tempSet; ???}};var cis = new Set();cis.add("Mike");cis.add("Clayton");cis.add("Jennifer");cis.add("Raymond");var dmp = new Set();dmp.add("Raymond");dmp.add("Cynthia");dmp.add("Bryan");var hj = cis.union(dmp); //并集var jj = cis.intersect(dmp); //交集console.log(cis.subset(dmp)); //判断是否dmp子集var bj = cis.difference(dmp); //补集console.log(hj);console.log(jj);console.log(bj);

  

Set of js

原文地址:http://www.cnblogs.com/lemon-zhang/p/7805356.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved