最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
當前位置: 首頁 - 科技 - 知識百科 - 正文

JS集合set類的實現(xiàn)與使用方法示例

來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 22:01:20
文檔

JS集合set類的實現(xiàn)與使用方法示例

JS集合set類的實現(xiàn)與使用方法示例:本文實例講述了JS集合set類的實現(xiàn)與使用方法。分享給大家供大家參考,具體如下: js集合set類的實現(xiàn) /*js集合set類的實現(xiàn)*/ function Set() { this.dataStore = []; this.add = add;//新增元素 this.remove = remove;//刪除元
推薦度:
導讀JS集合set類的實現(xiàn)與使用方法示例:本文實例講述了JS集合set類的實現(xiàn)與使用方法。分享給大家供大家參考,具體如下: js集合set類的實現(xiàn) /*js集合set類的實現(xiàn)*/ function Set() { this.dataStore = []; this.add = add;//新增元素 this.remove = remove;//刪除元

本文實例講述了JS集合set類的實現(xiàn)與使用方法。分享給大家供大家參考,具體如下:

js集合set類的實現(xiàn)

/*js集合set類的實現(xiàn)*/
function Set() {
 this.dataStore = [];
 this.add = add;//新增元素
 this.remove = remove;//刪除元素
 this.size = size;//集合的元素個數(shù)
 this.union = union;//求并集
 this.contains = contains;//判斷一個集合中是否包含某個元素
 this.intersect = intersect;//交集
 this.subset = subset;//判斷一個集合是否是另一個的子集
 this.difference = difference;//求補集
 this.show = show;//將集合元素顯示出來
}
function add(data) {
 if (this.dataStore.indexOf(data) < 0) {
 this.dataStore.push(data);
 return true;
 }
 else {
 return false;
 }
}
function remove(data) {
 var pos = this.dataStore.indexOf(data);
 if (pos > -1) {
 this.dataStore.splice(pos,1);
 return true;
 }
 else {
 return false;
 }
}
function size() {
 return this.dataStore.length;
}
function show() {
 return "[" + this.dataStore + "]";
}
function contains(data) {
 if (this.dataStore.indexOf(data) > -1) {
 return true;
 }
 else {
 return false;
 }
}
function union(set) {
 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;
}
function intersect(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;
}
function subset(set) {
 if (this.size() > set.size()) {
 return false;
 }
 else {
 for(var member in this.dataStore) {
 if (!set.contains(member)) {
 return false;
 }
 }
 }
 return true;
}
function difference(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;
}
/*測試例子:求補集。屬于集合cis,不屬于集合it*/
var cis = new Set();
var it = new Set();
cis.add("Clayton");
cis.add("Jennifer");
cis.add("Danny");
it.add("Bryan");
it.add("Clayton");
it.add("Jennifer");
var diff = new Set();
diff = cis.difference(it);
console.log(cis.show() + " difference " + it.show() + " -> " + diff.show());

這里使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼,可得如下運行結(jié)果:

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript數(shù)學運算用法總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯誤與調(diào)試技巧總結(jié)》

希望本文所述對大家JavaScript程序設計有所幫助。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

JS集合set類的實現(xiàn)與使用方法示例

JS集合set類的實現(xiàn)與使用方法示例:本文實例講述了JS集合set類的實現(xiàn)與使用方法。分享給大家供大家參考,具體如下: js集合set類的實現(xiàn) /*js集合set類的實現(xiàn)*/ function Set() { this.dataStore = []; this.add = add;//新增元素 this.remove = remove;//刪除元
推薦度:
標簽: 實現(xiàn) js 集合
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top