欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

TypeScript中Map對象使用及Map與字典的區(qū)別詳解

 更新時間:2024年01月23日 16:10:52   作者:3wj  
Map對象主要的應(yīng)用場景在于數(shù)據(jù)重組和數(shù)據(jù)儲存,下面這篇文章主要給大家介紹了TypeScript中Map對象使用及Map與字典的區(qū)別的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下

(1)Map的基礎(chǔ)操作

//初始化Map的鍵和值,它們可以是任何類型,注意Map中所有的鍵或所有的值必須是相同類型
let nameList = new Map([
    ["key1", 1],
    ["key2", 2]
])
 
 //通過map.set設(shè)置鍵值對,返回該Map對象
nameList.set("key3", 3)
console.log(nameList)

//通過map.get獲取鍵對應(yīng)的值,如果不存在,則返回undefined
var getmap = nameList.get("key2")
var getmap2 = nameList.get("key999")
console.log(getmap)
console.log(getmap2)

//通過map.delete()刪除鍵值對,刪除則返回true,未刪除則返回false
var deletemap = nameList.delete("key2")
console.log(deletemap)
console.log(nameList)

//通過has()判斷 Map中是否包含所查找的鍵值,返回布爾型
var hasmap = nameList.has("key1")
var hasmap2 = nameList.has("key999")
console.log(hasmap)
console.log(hasmap2)

//通過clear()移除所有鍵值對,清楚Map
var clearmap = nameList.clear()
console.log(nameList)
 

(2)Map的迭代

Map的迭代有多種方式

1.使用for...of進行迭代,返回一個包含鍵值對的數(shù)組

let myMap = new Map()
myMap.set(0, "zero")
myMap.set(1, "one")

for (let [key, value] of myMap) {
  console.log(key, value)
}

2.使用forEach進行迭代,它會接受一個回調(diào)函數(shù)作為參數(shù)

let myMap = new Map()
myMap.set(0, "zero")
myMap.set(1, "one")

myMap.forEach((value, key) => {
  console.log(key, value)
})

3.使用 keys 方法迭代所有的鍵

let myMap = new Map()
myMap.set(0, "zero")
myMap.set(1, "one")

for (let key of myMap.keys()) {
  console.log(key)
}

4.使用 values 方法迭代所有的值

let myMap = new Map()
myMap.set(0, "zero")
myMap.set(1, "one")

for (let value of myMap.values()) {
  console.log(value)
}

需要注意的是,使用 for...of 或 forEach 迭代時,鍵值對的順序與添加順序一致;而使用 keys 或 values 迭代時,順序與添加順序無關(guān)。

(3)Map與字典的區(qū)別

在 TypeScript 中,Map 和字典(也叫關(guān)聯(lián)數(shù)組或哈希表)都可以用來存儲鍵值對。它們的主要區(qū)別在于內(nèi)部實現(xiàn)方式和一些特性上。

Map 是 JavaScript 中的一個原生類,是一個可迭代的鍵值對的集合,其中每個鍵都是唯一的。它的鍵和值可以是任意類型的,可以通過 set 方法來添加新的鍵值對,通過 get 方法來獲取值。Map 還有一些特殊的方法和屬性,比如 size 屬性,clear() 方法和 forEach() 方法等。在 TypeScript 中,我們可以直接使用 Map 類型來定義一個 Map 對象,例如:

const map = new Map<string, number>();
map.set('apple', 1);
map.set('banana', 2);
map.set('orange', 3);

字典(或關(guān)聯(lián)數(shù)組或哈希表)則是一種常見的數(shù)據(jù)結(jié)構(gòu),也可以用來存儲鍵值對,其中每個鍵也是唯一的。字典的實現(xiàn)方式一般是通過散列表(hash table)來實現(xiàn)的。在 TypeScript 中,我們通常會使用對象來模擬字典,例如:

const dict = { 
  apple: 1,
  banana: 2,
  orange: 3,
};

字典雖然在實現(xiàn)上可能更高效,但是它不是一個原生的類,也缺乏 Map 的一些特殊方法和屬性。因此在 TypeScript 中,如果需要使用到這些特殊的方法和屬性,或者需要確保鍵的順序等問題,建議使用 Map。如果只是簡單的存儲鍵值對,可以使用對象或者字典。

總結(jié)

到此這篇關(guān)于TypeScript中Map對象使用及Map與字典的區(qū)別詳解的文章就介紹到這了,更多相關(guān)TS Map對象與字典區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JS猜數(shù)字游戲?qū)嵗v解

    JS猜數(shù)字游戲?qū)嵗v解

    這篇文章主要為大家詳細介紹了JS猜數(shù)字游戲?qū)嵗?,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • javascript 小數(shù)取整簡單實現(xiàn)方式

    javascript 小數(shù)取整簡單實現(xiàn)方式

    這篇文章主要介紹了javascript 小數(shù)取整d的簡單實現(xiàn)方式,需要的朋友可以參考下
    2014-05-05
  • 實例分析JS中的相等性判斷===、 ==和Object.is()

    實例分析JS中的相等性判斷===、 ==和Object.is()

    這篇文章主要給大家介紹了關(guān)于JS中相等性判斷===、 ==和Object.is()的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用JS具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-11-11
  • JavaScript接口防止重復(fù)請求的方法總結(jié)

    JavaScript接口防止重復(fù)請求的方法總結(jié)

    在前端開發(fā)中,防止重復(fù)請求是一個常見的問題,重復(fù)請求不僅會增加服務(wù)器的負載,還可能導(dǎo)致數(shù)據(jù)不一致等問題,本文為大家整理了一些常用的解決方法,需要的可以參考下
    2024-12-12
  • 給easyui的datebox控件添加清空按鈕的實現(xiàn)方法

    給easyui的datebox控件添加清空按鈕的實現(xiàn)方法

    下面小編就為大家?guī)硪黄oeasyui的datebox控件添加清空按鈕的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-11-11
  • 微信小程序圖片上傳以及內(nèi)容安全審核詳解

    微信小程序圖片上傳以及內(nèi)容安全審核詳解

    踩了很多次坑,終于在微信小程序中搞定了圖片上傳以及內(nèi)容安全審核,下面這篇文章主要給大家介紹了關(guān)于微信小程序圖片上傳以及內(nèi)容安全審核的相關(guān)資料,文中通過圖文以及實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-04-04
  • 創(chuàng)建echart多個聯(lián)動的示例代碼

    創(chuàng)建echart多個聯(lián)動的示例代碼

    這篇文章主要介紹了創(chuàng)建echart多個聯(lián)動的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • JavaScript中為元素加上name屬性的方法

    JavaScript中為元素加上name屬性的方法

    干前端這行當已經(jīng)超過一個月了, 每天都會遇到新奇古怪, 甚至離奇的問題. 雖然絕大部分都是一些小問題, 但我覺得還是有必要記錄下來
    2011-05-05
  • javascript實現(xiàn)移動端上的觸屏拖拽功能

    javascript實現(xiàn)移動端上的觸屏拖拽功能

    這篇文章主要為大家詳細介紹了基于javascript實現(xiàn)移動端上的觸屏拖拽功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-03-03
  • JavaScript Array對象詳解

    JavaScript Array對象詳解

    這篇文章主要為大家詳細介紹了JavaScript function函數(shù)種類,知識點很全面,包括普通函數(shù)、匿名函數(shù)、閉包函數(shù),感興趣的小伙伴們可以參考一下
    2016-03-03

最新評論