Create strongly typed array of arrays in TypeScript
TypescriptTypescript Problem Overview
In a language like C# I can declare a list of lists like:
List<List<int>> list_of_lists;
Is there a similar way to declare a strongly typed array of arrays in TypeScript? I tried the following approaches but neither compiles.
var list_of_lists:int[][];
var list_of_lists:Array<int[]>;
Typescript Solutions
Solution 1 - Typescript
int
is not a type in TypeScript. You probably want to use number
:
var listOfLists : number[][];
Solution 2 - Typescript
You do it exactly like in Java/C#, e.g. (in a class):
class SomeClass {
public someVariable: Array<Array<AnyTypeYouWant>>;
}
Or as a standalone variable:
var someOtherVariable: Array<Array<AnyTypeYouWant>>;
Solution 3 - Typescript
The simplest is:
x: Array<Array<Any>>
And, if you need something more complex, you can do something like this:
y: Array<Array<{z:int, w:string, r:Time}>>
Solution 4 - Typescript
@Eugene you can use something like Array<Array<[string, number]>>
to define a Map type
Solution 5 - Typescript
You can create your own custom types to create a strongly typed array:
type GridRow = GridCell[] //array of cells
const grid: GridRow[] = []; //array of rows