亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

(1)Map的基礎操作

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

//通過map.get獲取鍵對應的值,如果不存在,則返回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進行迭代,它會接受一個回調函數(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 迭代時,順序與添加順序無關。

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

在 TypeScript 中,Map 和字典(也叫關聯(lián)數(shù)組或哈希表)都可以用來存儲鍵值對。它們的主要區(qū)別在于內部實現(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);

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

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

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

總結

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

相關文章

  • Blazor實現(xiàn)微信的Tab切換功能

    Blazor實現(xiàn)微信的Tab切換功能

    這篇文章主要介紹了Blazor實現(xiàn)微信的Tab切換功能,本文中的UI組件使用的是MASA?Blazor,您也可以是其他的UI框架,這個并不影響實際的運行效果,本文案例是兼容PC和Android的,演示效果是android中執(zhí)行的,在PC中執(zhí)行效果依然有效,需要的朋友可以參考下
    2023-01-01
  • ES7中利用Await減少回調嵌套的方法詳解

    ES7中利用Await減少回調嵌套的方法詳解

    大家都知道在ES7中有了標準的回調函數(shù)嵌套的解決方案,新增了 async/await兩個關鍵詞,所以這篇文章主要給大家介紹了關于Javascript中如何利用Await減少回調嵌套的相關資料,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧。
    2017-11-11
  • js中數(shù)組常用方法總結(推薦)

    js中數(shù)組常用方法總結(推薦)

    這篇文章主要介紹了js中數(shù)組常用方法總結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • JavaScript.Encode手動解碼技巧

    JavaScript.Encode手動解碼技巧

    往往在網(wǎng)頁上有JS加密代碼的解碼方法,但是由于代碼中存在轉義字符,無法正確的進行解碼。
    2010-07-07
  • 微信小程序非跳轉式組件授權登錄的方法示例

    微信小程序非跳轉式組件授權登錄的方法示例

    這篇文章主要介紹了微信小程序非跳轉式組件授權登錄的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • js兩行代碼按指定格式輸出日期時間

    js兩行代碼按指定格式輸出日期時間

    javascript兩行代碼即可實現(xiàn)按指定格式輸出日期時間,非常不錯,需要的朋友可以參考下
    2011-10-10
  • js仿3366小游戲選字游戲

    js仿3366小游戲選字游戲

    這篇文章主要為大家詳細介紹了js仿3366小游戲選字游戲
    2016-04-04
  • JavaScript通過代碼調用Flash顯示的方法

    JavaScript通過代碼調用Flash顯示的方法

    這篇文章主要介紹了JavaScript通過代碼調用Flash顯示的方法,實例分析了JavaScript通過flash插件swfobject.js調用flash顯示的具體操作技巧,需要的朋友可以參考下
    2016-02-02
  • 詳解TypeScript如何正確使用Declare關鍵字

    詳解TypeScript如何正確使用Declare關鍵字

    如果您編寫 TypeScript 代碼的時間足夠長,您就已經(jīng)看到過declare關鍵字,但它有什么作用,為什么要使用它呢,下面小編就來和大家簡單講講
    2023-08-08
  • 基于JavaScript獲取url參數(shù)2種方法

    基于JavaScript獲取url參數(shù)2種方法

    這篇文章主要介紹了基于JavaScript獲取url參數(shù)2種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04

最新評論