最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2024年01月23日 16:10:52   作者:3wj  
Map對象主要的應用場景在于數據重組和數據儲存,下面這篇文章主要給大家介紹了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進行迭代,返回一個包含鍵值對的數組

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

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

2.使用forEach進行迭代,它會接受一個回調函數作為參數

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)數組或哈希表)都可以用來存儲鍵值對。它們的主要區(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)數組或哈希表)則是一種常見的數據結構,也可以用來存儲鍵值對,其中每個鍵也是唯一的。字典的實現(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ù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

福清市| 霍林郭勒市| 义乌市| 婺源县| 保亭| 曲水县| 田阳县| 城市| 汝城县| 南投县| 宝应县| 集安市| 榕江县| 南和县| 荥经县| 温宿县| 奎屯市| 德阳市| 玛多县| 舟山市| 临城县| 沙田区| 图片| 沭阳县| 北川| 资源县| 景谷| 庆云县| 惠安县| 瓦房店市| 乐安县| 乌拉特中旗| 阜平县| 阳曲县| 灵台县| 奉化市| 辽中县| 通山县| 龙井市| 南江县| 通渭县|