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

TypeScript中Map與Set的區(qū)別小結(jié)

 更新時(shí)間:2025年10月10日 10:24:05   作者:心隨雨下  
TypeScript中Map和Set是兩種不同的集合類型,Map用于存儲(chǔ)鍵值對(duì),支持任意類型鍵并保持插入順序,Set用于存儲(chǔ)唯一值,自動(dòng)去重,兩者都提供高效的查找操作,下面就來詳細(xì)的介紹一下兩者的區(qū)別

在TypeScript中,Map和Set都是ES6引入的集合類型,它們有各自不同的用途和特性:

Map(映射)

Map是鍵值對(duì)的集合,其中鍵可以是任意類型(對(duì)象、函數(shù)、基本類型等)。

主要特性:

// 創(chuàng)建Map
const map = new Map<string, number>();

// 添加鍵值對(duì)
map.set('name', 'Alice');
map.set('age', 25);
map.set(1, 'one'); // 鍵可以是數(shù)字

// 獲取值
console.log(map.get('name')); // 'Alice'

// 檢查鍵是否存在
console.log(map.has('age')); // true

// 刪除鍵值對(duì)
map.delete('age');

// 獲取大小
console.log(map.size); // 2

Map的優(yōu)勢(shì):

  • 鍵可以是任意類型
  • 保持插入順序
  • 有size屬性
  • 性能在頻繁增刪時(shí)更好

Set(集合)

Set是的集合,每個(gè)值在Set中只能出現(xiàn)一次。

主要特性:

// 創(chuàng)建Set
const set = new Set<number>();

// 添加值
set.add(1);
set.add(2);
set.add(2); // 重復(fù)值會(huì)被忽略
set.add(3);

// 檢查值是否存在
console.log(set.has(2)); // true

// 刪除值
set.delete(1);

// 獲取大小
console.log(set.size); // 2

// 遍歷
set.forEach(value => console.log(value));

Set的優(yōu)勢(shì):

  • 自動(dòng)去重
  • 快速判斷值是否存在
  • 保持插入順序

主要區(qū)別對(duì)比

特性MapSet
存儲(chǔ)內(nèi)容鍵值對(duì)唯一值
重復(fù)處理鍵唯一,值可重復(fù)值唯一
主要用途需要鍵值映射的場(chǎng)景需要唯一值的集合
查找性能通過鍵快速查找通過值快速查找
典型方法set(), get(), has()add(), has()

使用場(chǎng)景示例

Map使用場(chǎng)景:

// 用戶信息映射
const userMap = new Map<number, {name: string, email: string}>();
userMap.set(1, {name: 'Alice', email: 'alice@example.com'});
userMap.set(2, {name: 'Bob', email: 'bob@example.com'});

// 緩存數(shù)據(jù)
const cache = new Map<string, any>();

Set使用場(chǎng)景:

// 去重
const numbers = [1, 2, 2, 3, 3, 4];
const uniqueNumbers = new Set(numbers); // [1, 2, 3, 4]

// 標(biāo)簽集合
const tags = new Set<string>();
tags.add('javascript');
tags.add('typescript');
tags.add('javascript'); // 不會(huì)被重復(fù)添加

兩者都是TypeScript中非常有用的數(shù)據(jù)結(jié)構(gòu),根據(jù)具體需求選擇使用。

到此這篇關(guān)于TypeScript中Map與Set的區(qū)別小結(jié)的文章就介紹到這了,更多相關(guān)TypeScript Map Set內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

湛江市| 永靖县| 祁阳县| 沅江市| 类乌齐县| 射阳县| 博乐市| 太保市| 昌江| 滨州市| 腾冲县| 阿拉善左旗| 武汉市| 新巴尔虎右旗| 鄂尔多斯市| 观塘区| 万荣县| 河北省| 迁西县| 遂川县| 乌鲁木齐市| 乐山市| 元朗区| 潼南县| 北川| 凤凰县| 浦城县| 大埔区| 温宿县| 宜都市| 陈巴尔虎旗| 繁峙县| 保山市| 宜君县| 佛冈县| 富锦市| 大安市| 常熟市| 南城县| 碌曲县| 永丰县|