set.js

来自「OA系统实现以下功能: a、个人办公,我的办公桌 b、公文管理 c、工作流」· JavaScript 代码 · 共 115 行

JS
115
字号
/*	Copyright (c) 2004-2006, The Dojo Foundation	All Rights Reserved.	Licensed under the Academic Free License version 2.1 or above OR the	modified BSD license. For more information on Dojo licensing, see:		http://dojotoolkit.org/community/licensing.shtml*/dojo.provide("dojo.collections.Set");dojo.require("dojo.collections.Collections");dojo.require("dojo.collections.ArrayList");dojo.collections.Set = new function () {	this.union = function (setA, setB) {		if (setA.constructor == Array) {			var setA = new dojo.collections.ArrayList(setA);		}		if (setB.constructor == Array) {			var setB = new dojo.collections.ArrayList(setB);		}		if (!setA.toArray || !setB.toArray) {			dojo.raise("Set operations can only be performed on array-based collections.");		}		var result = new dojo.collections.ArrayList(setA.toArray());		var e = setB.getIterator();		while (!e.atEnd()) {			var item = e.get();			if (!result.contains(item)) {				result.add(item);			}		}		return result;	};	this.intersection = function (setA, setB) {		if (setA.constructor == Array) {			var setA = new dojo.collections.ArrayList(setA);		}		if (setB.constructor == Array) {			var setB = new dojo.collections.ArrayList(setB);		}		if (!setA.toArray || !setB.toArray) {			dojo.raise("Set operations can only be performed on array-based collections.");		}		var result = new dojo.collections.ArrayList();		var e = setB.getIterator();		while (!e.atEnd()) {			var item = e.get();			if (setA.contains(item)) {				result.add(item);			}		}		return result;	};	this.difference = function (setA, setB) {		if (setA.constructor == Array) {			var setA = new dojo.collections.ArrayList(setA);		}		if (setB.constructor == Array) {			var setB = new dojo.collections.ArrayList(setB);		}		if (!setA.toArray || !setB.toArray) {			dojo.raise("Set operations can only be performed on array-based collections.");		}		var result = new dojo.collections.ArrayList();		var e = setA.getIterator();		while (!e.atEnd()) {			var item = e.get();			if (!setB.contains(item)) {				result.add(item);			}		}		return result;	};	this.isSubSet = function (setA, setB) {		if (setA.constructor == Array) {			var setA = new dojo.collections.ArrayList(setA);		}		if (setB.constructor == Array) {			var setB = new dojo.collections.ArrayList(setB);		}		if (!setA.toArray || !setB.toArray) {			dojo.raise("Set operations can only be performed on array-based collections.");		}		var e = setA.getIterator();		while (!e.atEnd()) {			if (!setB.contains(e.get())) {				return false;			}		}		return true;	};	this.isSuperSet = function (setA, setB) {		if (setA.constructor == Array) {			var setA = new dojo.collections.ArrayList(setA);		}		if (setB.constructor == Array) {			var setB = new dojo.collections.ArrayList(setB);		}		if (!setA.toArray || !setB.toArray) {			dojo.raise("Set operations can only be performed on array-based collections.");		}		var e = setB.getIterator();		while (!e.atEnd()) {			if (!setA.contains(e.get())) {				return false;			}		}		return true;	};}();

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?