【问题标题】:How do I represent a two-dimensional array containing multiple types in TypeScript?如何在 TypeScript 中表示包含多种类型的二维数组?
【发布时间】:2019-12-31 03:52:33
【问题描述】:
我正在学习 TypeScript。
我在学习的时候有一个问题
const arr = [['192.168.0.1', 1234], ['192.168.0.2', 5678], ...];
如何在上述二维数组中包含不同类型?
使用'any'会很好,但我不推荐在官方文档中使用。
【问题讨论】:
-
你想要一个tuples 的数组,比如Array<[string, number]>。
-
标签:
javascript
typescript
【解决方案1】:
您可以在 TypeScript 中使用联合类型。来自documentation:
联合类型描述的值可以是多种类型之一。我们
使用竖线 (|) 分隔每种类型,因此编号 |字符串 |
boolean 是值的类型,可以是数字、字符串或
布尔值。
因此,在您的情况下,您可以将数组声明为:
const arr: Array<(string | number)[]> = [['192.168.0.1', 1234], ['192.168.0.2', 5678], ...];