function Set() { var items = {}; this.has = function(value) { return value in items } this.add = function(value) { if (!this.has(value)) { items[value] = value; return true } return false } this.remove = function() { if (this.has(value)) { delete items[value]; return true } return false } this.size = function() { return Object.keys(items).length } this.values = function() { return Object.keys(items) } this.union = function(otherSet) { var unionSet = new Set(); var values = this.values(); for (var i = 0; i < values.length; i++) { unionSet.add(values[i]) } values = otherSet.values(); for (var i = 0; i < values.length; i++) { unionSet.add(values[i]) } return unionSet } this.intersection = function(otherSet) { var intersection = new Set(); var values = this.values(); for (var i = 0; i < values.length; i++) { if (otherSet.has(values[i])) { intersection.add(values[i]) } } return intersection } this.difference = function(otherSet) { var differece = new Set(); var values = this.values(); for (var i = 0; i < values.length; i++) { if (!otherSet.has(values[i])) { differece.add(values[i]) } } return differece } this.subSet = function(otherSet) { var subSet = new Set(); if (this.size() > otherSet.size()) { return false } var values = this.values(); for (var i = 0; values.length; i++) { if (!otherSet.has(values[i])) { return false } } return true } }
时间: 2024-10-08 10:28:00