溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

es6中set類型是有序的嗎

發(fā)布時(shí)間:2022-04-11 09:05:14 來源:億速云 閱讀:337 作者:iii 欄目:編程語言

這篇文章主要介紹了es6中set類型是有序的嗎的相關(guān)知識(shí),內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價(jià)值,相信大家閱讀完這篇es6中set類型是有序的嗎文章都會(huì)有所收獲,下面我們一起來看看吧。

es6中set類型是有序的。set類型是es6中新增的有序列表集合,其中包含了一些相互獨(dú)立的非重復(fù)值;set的遍歷順序就是插入順序,set保存的一個(gè)函數(shù)列表調(diào)用時(shí),就是按照指定的順序進(jìn)行調(diào)用,因此set類型是有序的。

本文操作環(huán)境:windows10系統(tǒng)、Vue2.9.6版,DELL G3電腦。

es6中set類型是不是有序的

是有序的,你可以在官方的Set找到答案,Set的遍歷順序就是插入順序。

這個(gè)特性有時(shí)非常有用,比如使用 Set 保存一個(gè)回調(diào)函數(shù)列表,調(diào)用時(shí)就能保證按照添加順序調(diào)用。

基本概念

ES6新增的Set類型是一種有序列表,其中含有一些相互獨(dú)立的非重復(fù)值。

*成員之間是否重復(fù),Set集合內(nèi)部是通過Object.is() 方法進(jìn)行判斷。

Set 是 ES6 新增的有序列表集合,它不會(huì)包含重復(fù)項(xiàng)。之前我們通常用對(duì)象(Object)或者數(shù)組(Array)來實(shí)現(xiàn)沒有重復(fù)項(xiàng)的集合。但對(duì)象會(huì)對(duì) key 進(jìn)行 toString() 操作,這會(huì)導(dǎo)致某些 key 會(huì)意外覆蓋之前的數(shù)據(jù);如果 key 本身是一個(gè)對(duì)象,toString() 也得不到想要的結(jié)果,如下:

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}

數(shù)組可以存放任何類型的數(shù)據(jù),不過數(shù)據(jù)除重需要自己實(shí)現(xiàn)。

Set 支持 add(item) 方法,用來向 Set 添加任意類型的元素,如果已經(jīng)添加過則自動(dòng)忽略;has(item) 方法用來檢測(cè) 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類型是有序的嗎

關(guān)于“es6中set類型是有序的嗎”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對(duì)“es6中set類型是有序的嗎”知識(shí)都有一定的了解,大家如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI