你對ES6 Map資料結構了解多少?

Mondo 科技 更新 2024-02-21

map 物件儲存鍵值對,並記住鍵的原始插入順序。 任何值(物件或基元型別)都可以是鍵或值。

對映物件是鍵值對的集合。 地圖中的鍵只能顯示一次; 它在地圖的收藏中是獨一無二的。 對映物件鍵值對迭代 - A for....of 迴圈在每次迭代後返回乙個 [key,value] 陣列。 迭代按插入順序進行,即鍵值對按照 set() 方法首次插入集合的順序進行迭代(即,當呼叫 set() 時,對映中沒有具有相同值的鍵)。

靜態屬性

size 屬性:size 屬性返回對映結構的成員總數。 例項方法

set(key, value):set 方法設定鍵值並返回整個對映結構。 如果金鑰已具有值,則會更新該金鑰值,否則會生成新金鑰。 get(key):get 方法讀取鍵對應的鍵值,如果找不到鍵,則返回 undefined。 has(key):has 方法返回乙個布林值,該值指示鍵是否在對映資料結構中。 delete(key):d elete 方法刪除乙個鍵,返回 true。 如果刪除失敗,則返回 false。 clear():clear 方法清除所有沒有返回值的成員。 foreach():遍歷地圖的所有成員。 迭代方法

keys():返回鍵名的遍歷器。 values():返回鍵值的遍歷器。 entries():返回所有成員的遍歷器。 map.prototype[@@iterator]():返回乙個新的迭代物件,該物件是 [key, value] 的陣列,其中包含對映物件中的所有鍵值對,按插入對映物件的順序排列。 map 可以像陣列一樣複製:

const original = new map([ 1, 'one'],]const clone = new map(original);console.log(clone.get(1));// oneconsole.log(original === clone); // false.淺層比較不是對同一物件的引用
地圖物件可以相互合併,但鍵保持唯一。

const first = new map([ 1, 'one'], 2, 'two'], 3, 'three'],]const second = new map([ 1, 'uno'], 2, 'dos']]) 合併兩個對映物件時,如果存在重複的鍵值,則後面的鍵值將覆蓋前面的鍵值。擴充套件語法實質上是將對映物件轉換為陣列。 const merged = new map([.first, .second]);console.log(merged.get(1));// unoconsole.log(merged.get(2));// dosconsole.log(merged.get(3));// three
地圖物件也可以與數字組合:

const first = new map([ 1, 'one'], 2, 'two'], 3, 'three'],]const second = new map([ 1, 'uno'], 2, 'dos']]) 當對映物件與陣列合併時,如果存在重複的鍵值,則後面的鍵值將覆蓋前面的鍵值。const merged = new map([.first, .second, [1, 'eins']])console.log(merged.get(1));// einsconsole.log(merged.get(2));// dosconsole.log(merged.get(3));// three

相關問題答案

    凱迪拉克IQ鋭歌還是蔚來ES6,30萬純電動豪華車誰是選擇?

    凱迪拉克 iQ 後輪驅動標準範圍豪華版正式上市,宣布凱迪拉克 iQ 家族又添了一位新成員。專注於萬級豪華純電動SUV的凱迪拉克iQ鋭歌,又會給車友帶來哪些驚喜?與同級別同樣受歡迎的蔚來ES相比,有哪些優勢?我們不妨以它結束。驚豔的外觀,不同的風格 首先,從設計方面可以看出兩款車的明顯區別,凱迪拉克I...

    蔚來ES6和EC6有什麼區別?

    蔚來ES和EC在外觀設計 內飾配置 效能和定位方面各具特色。ES以其穩定的外觀和豐富的配置吸引了眾多消費者的目光 EC以其年輕時尚的外觀和運動型的駕駛體驗贏得了眾多年輕消費者的青睞。隨著新能源汽車市場的日益繁榮,越來越多的消費者開始關注電動汽車作為一種綠色出行方式。作為中國電動汽車領域的領軍企業,蔚...

    雷克薩斯ES300和奧迪A6L,如何選擇?

    家裡的舊AL已經使用了一段時間,現在想換乙個新的。但是,AL相對較高,這有點令人望而卻步。相比之下,雷克薩斯ES更便宜,這讓人們開始考慮是否選擇它作為替代品。然而,在網際網絡上搜尋雷克薩斯ES的資訊時,發現不少人稱其為 帶殼的亞洲龍 這種說法有點令人擔憂,因為亞洲龍作為更受歡迎的車型,被認為缺乏排他...

    單月售出6943臺,蔚來ES6終於不再尷尬,但想要賣出1萬台以上,還需要努力

    年下半年,蔚來ES的銷售業績確實有所下滑。幸運的是,月,蔚來ES單月銷量為輛,較上月增加輛 這算是跌幅的完全恢復。考慮到蔚來ES的定價,它的銷量增長了這麼多,這對蔚來來說是相當不錯的,如果這種勢頭繼續下去,那麼蔚來ES很快就會回到萬大關。蔚來汽車最熱的時候是去年月,共售出,輛。然而,自月以來,它直接...

    蔚來ES8續航605KM653馬力解讀!值得嗎?

    今年以來,新能源汽車市場呈現出明顯的增長態勢,街上綠色汽車數量不斷增多,各類新能源車型層出不窮。其中,蔚來ES成為關注的焦點,這款純電中大型SUV在外觀設計上採用了雕塑美學的理念,線條簡潔大方,前臉設計凸顯出力量感。內飾方面,採用環繞式座艙布局,內飾採用軟質材料,質感好。在裝備方面,搭載了多種安全駕...