zoukankan      html  css  js  c++  java
  • JavaScript Set

    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
    	}
    }
    

      

  • 相关阅读:
    Hadoop HDFS的Shell操作实例
    我来阿里的2年
    设计模式之迪米特原则(LoD)
    设计模式之接口隔离原则
    设计模式之依赖倒置原则
    设计模式之里氏替换原则(LSP)
    设计模式之单一职责原则(SRP)
    Android开发系列之性能优化
    Android开发系列之屏幕密度和单位转换
    Android开发系列之ListView
  • 原文地址:https://www.cnblogs.com/shidengyun/p/5122595.html
Copyright © 2011-2022 走看看