【问题标题】:Create strongly typed array of arrays in TypeScript在 TypeScript 中创建强类型数组
【发布时间】:2014-06-03 09:33:06
【问题描述】:

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

List<List<int>> list_of_lists;

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

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

【问题讨论】:

  • 请不要使用typed arrays这个词...
  • 在 TypeScript 中,“类型化数组”意味着它在除 JavaScript 之外的大多数其他编程语言中的含义,但由于它们紧密相连,我将用“强烈”来澄清它。
  • 谢谢,我很欣赏“强类型”这个词 :-)

标签: typescript


【解决方案1】:

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

var listOfLists : number[][];

【讨论】:

  • 虽然不是强类型
  • @PeterOlson 如果我有这种格式的数组数组 - [ [string, number], [string, number], ... ] ,是否可以强输入?
  • 用于不同类型数组的数组var entries: [string, number][] = []
【解决方案2】:

您的操作与 Java/C# 中的完全一样,例如(在课堂上):

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

或作为独立变量:

var someOtherVariable: Array<Array<AnyTypeYouWant>>;

【讨论】:

  • 其实我在Angular中使用了any类型,Array>
【解决方案3】:

最简单的是:

x: Array<Array<Any>>

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

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

【讨论】:

    【解决方案4】:

    @Eugene 你可以使用Array&lt;Array&lt;[string, number]&gt;&gt; 之类的东西来定义地图类型

    【讨论】:

    • 这似乎应该是对那个人的评论的回应,而不是单独的答案。
    猜你喜欢
    • 2022-12-18
    • 1970-01-01
    • 2021-09-27
    • 2016-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-27
    • 2021-06-09
    相关资源
    最近更新 更多