對於順序的數據結構,比如數組,棧,隊列,鏈表等,在學習和操作上都比較簡單,當然,鏈表涉及到了指針的操作。可能會有些棘手,但終究還是可以解決的。今天聊聊自己在校期間學習的第一種,也是比較簡單的一種無序的數據結構——集合。順便用JavaScript實現它。
集合是由一組無序且唯一的項組成的。這個數學當中的有限集合概念相同,在數學上,我們定義集合是一組不同的對象。
它有並集,交集,差集等操作,現在我們也會實現這些操作。
在ES6語法當中,已經有了明確集合的數據結構,用Set表示。現在我們在此基礎上用自己的方式實現:
Set的骨架很簡單:
一、has、add和remove方法的實現:
二、元素個數size和清空clear的實現:
三、values方法的實現:
四、並集的操作:
五、交集的操作:
六、差集的操作;
七、一些測驗:
對於前端開發人員,瞭解一下這些JavaScript的數據結構還是很有益處。
至少在學習ES6語法中的某些新增的數據結構會很有幫助的哦!
謝謝關注!
相關推薦
'為什麼你19歲的陰曆生日和陽曆重合了,而有的人沒有重合'
" 小的時候特別在意自己的生日,尤其是過陰曆生日的朋友們,變換不定的陰曆生日和陽曆的關係,始終不明白其中到底什麼規律。 19歲的那年,會有同學發現自己的陰曆生日和陽曆生日居然和自己出生那年的對上了,而也有同學會失落的發現,還是錯了一天。翻開萬年曆數到38歲,依然是有重合的,...
'中秋佳節:沒編程合集大團圓!318本編出電子書籍➕視頻資料項目'
"中秋節佳節,小夥伴們都放假開心的回家團圓去了吧?這不、小編給你們帶來了更開心的事情、那就是給你們準備好了編程合集大團圓!全網最全編程語言視頻教程(從零基礎到大牛哦!)包含java、python、web、大數據、人工智能、等視頻教程+項目+源碼,現在免費分享給各位![領取方...
'初中數學:如何求sin15°?十種方法總有一個適合你'
"∠如圖1 ,在Rt⊿ABC中,∠B=90°,∠C=15°.我們不妨將它稱為解決此問題的基本圖形.在這個三角形中要求sin 15º,目前顯然沒辦法直接得出比值AB/AC。但我們知道直角三角形中,30 º,45 º,60 º這幾個特殊角的三角函數值,所以考慮基本圖形與含特殊角...
'三年級數學四則混合運算知識總結,打基礎必備'
"更多資料請關注微信公眾號:小學資源園地知識點一:四則運算的概念和運算順序1、加法、減法、乘法和除法統稱四則運算。2、在沒有括號的算式裡,如果只有加、減法或者只有乘、除法,都要從左往右按順序計算。3、在沒有括號的算式裡,既有乘、除法又有加、減法的,要先算乘除法,再算加減法。...
數學
2019-09-15
'重慶一外和二外的擇校大比較,哪所學校適合你?'
"學校的比較是多維度的,提到兩個學校馬上說這個學校比那個學校好,是不準確的。重慶一外和重慶二外沒有排名先後之說,因為沒有最好的學校,只有每個維度較為突出的學校。下面我就各維度對重慶一外和二外進行對比,家長可以根據家庭以及孩子的情況選擇學校。1、關於學校性質重慶一外的初中是原...
'合格教授必須做研究,原因至少有2個 | 觀點'
"“教學型”教授不是個新鮮詞,據說國外也有這類教授。“教學型”與“科研型”的差別似乎不是國內某些高校理解的那樣,兩者的差別不是一個做研究一個不做研究,而是“教學型”教授以教學為主,但也需要做研究。兩者的評價指標都有教學與研究,只不過側重點不同。一些大學將從沒搞過研究、沒發表...
推薦中...