集合是由一組無序且唯一(即不能重複)的項組成的。類似於一種特殊的陣列,因為無序所以不能通過索引進行訪問,不能重複意味著相同的元素在聽乙個集合裡面是只能存在乙份。
封裝乙個集合類
在集合內部是不需要再次進行內部類的。
function set()
// 方法
}
常見的方法
add(value):向集合新增乙個新的項。
remove(value):從集合移除乙個值。
has(value):如果值在集合中,返回true,否則返回false。
clear():移除集合中的所有項。
size():返回集合所包含元素的數量。與陣列的length屬性類似。
values():返回乙個包含集合中所有值的陣列。
(1)has方法實現
function set()
set.prototype.has=(value)=>
}
(2)add方法實現
set.prototype.add=(value)=>
(3)remove方法實現
set.prototype.remove=(value)=>else
}
(4)remove方法實現
set.prototype.clear = ()=>
}
(4)size方法實現
set.prototype.size=()=>
(4)values 方法實現
// 獲取集合中所有的值
set.prototype.values = function()
集合之間的操作
並集:對於給定的兩個集合,返回乙個包含兩個集合中所有元素的新集合。
交集:對於給定的兩個集合,返回乙個包含兩個集合中共有元素的新集合。
差集:對於給定的兩個集合,返回乙個包含所有存在於第乙個集合且不存在於第二個集
合的元素的新集合。
子集:驗證乙個給定集合是否是另一集合的子集。
(1)並集的實現
// 並集
set.prototype.union = function(otherset)
} return true
}
學習javaScript資料結構與演算法
建立陣列 var members 0,1,2,3,4,5,6,7,8 9,10 新增元素 向陣列末尾新增 members.push 11 向陣列開頭新增 members.unshift 1 刪除元素 從陣列末尾刪除 members.pop 從陣列開頭刪除 members.shift tips 通過p...
資料結構 棧(JavaScript)
棧是一種遵從後進先出 lifo 原則的有序集合。新新增的或待刪除的元素都儲存在棧的 末尾,稱作棧頂,另一端就叫棧底。在棧裡,新元素都靠近棧頂,舊元素都接近棧底。舉個栗子,差不多這樣子。初始化棧的高度以及棧頂指標 var length 0 var top null 宣告常用方法 this.push f...
二 javascript資料結構
1 識別符號 var test test 定義變數開頭不能是數字 var 1a 1a 定義變數開頭可以是下劃線 var a a 定義變數開頭可以是中文 var 變數 a 2 關鍵字與保留字 就是這些保留字關鍵字,你不能定義變數或者函式等等,反正別用就行了 abstract arguments boo...