打字稿:帮助定义数组数组的类型?

时间:2021-07-12 11:19:10

标签: typescript

我正在处理一个很久以前定义的遗留变量。

export const constellationNancyRomanTable = [
  [0.0000,24.0000,88.0000,'UMi'],
  [8.0000,14.5000,86.5000,'UMi'],
  [21.0000,23.0000,86.1667,'UMi'],
  [18.0000,21.0000,86.0000,'UMi'],
  ...
]

但是,我对 Typescript 很陌生 - 所以我想把这个变量移植到一个新的基于对象的语法中,因为我理解对象的 type 定义,但是这个数组数组在暗指我。但是,我想知道如何定义这样的类型/接口?

我正在考虑这样的事情:

export interface ConstellationNancyRoman = Array<Array<[number, number, number, string]>>

有点正确吗?

1 个答案:

答案 0 :(得分:2)

大功告成:您只需将它嵌套 Array 深,因为您已经定义了元组。这应该有效(使用 type 而不是 interface):

export type ConstellationNancyRoman = Array<[number, number, number, string]>;

See example on TypeScript playground

您可以一直使用括号表示法,即使对于某些人来说它可能不像以前那样可读:

export type ConstellationNancyRoman = [number, number, number, string][];