在TypeScript中创建强类型数组



在C#这样的语言中,我可以声明一个列表列表,如:

List<List<int>> list_of_lists;

在TypeScript中是否有类似的方法来声明强类型数组?我尝试了以下方法,但都没有编译。

var list_of_lists:int[][];
var list_of_lists:Array<int[]>;

int不是TypeScript中的类型。您可能想要使用number:

var listOfLists : number[][];

您的操作与Java/C#中的操作完全相同,例如(在类中):

class SomeClass {
    public someVariable: Array<Array<AnyTypeYouWant>>;
}

或者作为一个独立变量:

var someOtherVariable: Array<Array<AnyTypeYouWant>>;

最简单的是:

x: Array<Array<Any>>

如果你需要更复杂的东西,你可以这样做:

y: Array<Array<{z:int, w:string, r:Time}>>

@Eugene您可以使用类似Array<Array<[string, number]>>的东西来定义映射类型

您可以创建自己的自定义类型来创建强类型数组:

type GridRow = GridCell[]   //array of cells
const grid: GridRow[] = []; //array of rows

它可能看起来很奇怪,但在TypeScript中,您可以使用以下语法创建数组的类型化数组。

例如,要创建一个数字数组,您可以编写以下内容:

const numbers: number[] = []; // or more verbose Array<number>

要创建一个数字数组数组,您可以编写以下内容:

const numbers: number[][] = []; // or more verbose Array<Array<number>>

最新更新