存在打字稿数据表数组类型?

时间:2019-10-09 07:02:47

标签: typescript

我想要打字稿中的类型,但是无法生成或初始化它。 它必须为以下格式,但我不知道该类型的名称,或者找不到资源来获得使用它的经验。

        data: [
          ['Memory', 50],
          ['CPU', 99]
        ],

我看到了一些用法,这种类型的名称是什么以及如何使用?

1 个答案:

答案 0 :(得分:1)

您可以将数组类型定义为始终包含2个项目,其中第一个是特定字符串,第二个是数字。

type Types = 'Memory' | 'CPU';
type DatabaseType = [Types, number];

let a: DatabaseType = ["Memory", 30];

// not allowed
let b: DatabaseType = ["Something", 30];

// Not allowed more than 2 items in array
let c: DatabaseType = ["Memory", 30, 50, "Foo"];

let data: DatabaseType[] = [
  ["Memory", 50],
  ["CPU", 20]
]

请参阅playground