如何在 TypeScript 中表示包含多种类型的二维数组?

Posted

技术标签:

【中文标题】如何在 TypeScript 中表示包含多种类型的二维数组?【英文标题】:How do I represent a two-dimensional array containing multiple types in 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]> Defining array with multiple types in TypeScript的可能重复 【参考方案1】:

您可以在 TypeScript 中使用联合类型。来自documentation:

联合类型描述的值可以是多种类型之一。我们 使用竖线 (|) 分隔每种类型,因此编号 |字符串 | boolean 是值的类型,可以是数字、字符串或 布尔值。

因此,在您的情况下,您可以将数组声明为:

const arr: Array<(string | number)[]> = [['192.168.0.1', 1234], ['192.168.0.2', 5678], ...];

【讨论】:

以上是关于如何在 TypeScript 中表示包含多种类型的二维数组?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 php 7.1 中表示返回类型是当前子类型?

如何在 json 模式中表示 sum/union 类型

typescript中表示同时满足两个或两个以上条件的定义,也就是&符号

如果它们来自数据源,如何在 graphql 模式中表示枚举?

如何在数据库中表示一系列动作,同时保留每个动作的详细信息?

如何在 MySQL 中表示树及其内容?