首頁 >web前端 >Vue.js >es6中set類型是不是有順序的

es6中set類型是不是有順序的

WBOY
WBOY原創
2022-04-08 18:37:453436瀏覽

es6中set類型是有順序的。 set類型是es6中新增的有序列表集合,其中包含了一些相互獨立的非重複值;set的遍歷順序就是插入順序,set保存的一個函數列表調用時,就是按照指定的順序進行調用,因此set類型是有序的。

es6中set類型是不是有順序的

本文操作環境:windows10系統、Vue2.9.6版,DELL G3電腦。

es6中set類型是不是有順序的

是有順序的,你可以在官方的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

es6中set類型是不是有順序的

【相關推薦:《vue.js教學》】

以上是es6中set類型是不是有順序的的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn