es6中set類型是有順序的。 set類型是es6中新增的有序列表集合,其中包含了一些相互獨立的非重複值;set的遍歷順序就是插入順序,set保存的一個函數列表調用時,就是按照指定的順序進行調用,因此set類型是有序的。
本文操作環境:windows10系統、Vue2.9.6版,DELL G3電腦。
是有順序的,你可以在官方的Set找到答案,Set的遍歷順序就是插入順序。
這個特性有時很有用,例如使用 Set 儲存一個回呼函數列表,呼叫時就能保證按照新增順序呼叫。
基本概念
ES6新增的Set型別是有序列表,其中含有一些相互獨立的非重複值。
*成員之間是否重複,Set集合內部是透過Object.is() 方法來判斷。
Set 是 ES6 新增的有序列表集合,它不會包含重複項。之前我們通常用物件(Object)或陣列(Array)來實作沒有重複項的集合。但物件會對key 進行toString() 操作,這會導致某些key 會意外覆寫先前的資料;如果key 本身是一個對象,toString() 也不會得到想要的結果,如下:
JSvar o = {}; var key1 = 2; var key2 = { toString : function() { return 2 } }; var key3 = { x : 1 }; var key4 = { y : 2 }; o[key1] = 1; o[key2] = 2; o[key3] = 3; o[key4] = 4; // o : Object {2: 2, [object Object]: 4}
數組可以存放任何類型的數據,不過數據除重需要自己實現。
Set 支援add(item) 方法,用來在Set 中新增任意型別的元素,如果已經新增過則自動忽略;has(item) 方法用來偵測Set 中是否存在指定元素;delete(item ) 方法用來從Set 中刪除指定元素;clear() 用來清空Set;取得Set 集合長度以size 屬性。如下:
JSvar set = new Set(); set.add(window); set.has(window); // trueset.size; // 1set.add(window); set.add(1); set.size; // 2set.delete(window); set.has(window); // falseset.clear(); set.size; // 0
【相關推薦:《vue.js教學》】
以上是es6中set類型是不是有順序的的詳細內容。更多資訊請關注PHP中文網其他相關文章!