Typescript Map类型

本文探讨了Typescript中Map类型与Object的区别,强调Map的键可以是任意值且有序,提供size属性直接计数,支持直接迭代。还介绍了Map的实例化、属性与方法,以及如何进行Map与数组之间的转换,并讨论了Map对象合并的情况。
摘要由CSDN通过智能技术生成

Objects 和 maps 的比较:

  Object的键只能是字符串或者 Symbols,但 Map 的键可以是任意值,包括函数、对象、基本类 型。

  Map 中的键值是有序的,而添加到 Object 对象中的键则不是。因此,当对它进行遍历时,Map 对象是按插入的顺序返回键值。

  可以通过 size 属性直接获取一个 Map 的键值对个数,而 Object 的键值对个数只能手动计算。

  Map 可直接进行迭代,而 Object 的迭代需要先获取它的键数组,然后再进行迭代。

  Map 在涉及频繁增删键值对的场景下会有些性能优势。

Map 类型实例化语法:

1

2

new Map([iterable])

let map = new Map([['key1''value1'], ['key2''value2']]);

Map 类型实例属性与方法:

1

2

3

4

5

6

7

8

9

10

Map.prototype.size                              // 元素数量

Map.prototype.clear()                           // 移除Map对象的所有键/值对 。

Map.prototype.delete(key)                       // 如果 Map 对象中存在该元素,则移除它并返回 true;否则如果该元素不存在则返回 false

Map.prototype.entries()                         // 返回一个新的 Iterator 对象,它按插入顺序包含了Map对象中每个元素的[key, value] 数组。

Map.prototype.forEach(callbackFn[, thisArg])    // 按插入顺序,为 Map对象里的每一键值对调用一次callbackFn函数。

Map.prototype.get(key)                          // 返回键对应的值,如果不存在ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值