【问题标题】:Tyescript: How to define typings for Strongly typed Array of Array打字稿:如何为强类型数组定义类型
【发布时间】:2017-04-13 07:03:13
【问题描述】:

已经有a similar question,唯一的区别是我想在d.ts文件中声明类型,而不是每次都声明。

我一直在写类似的类型

interface SomeType {
 key1: string[];
 key2: number;
}

Objects with named properties 类型。


现在我需要一个Array with two sub-Arrays 类型,

即(类似):

 TheType : [string[], string[]]

这样我就可以写了

let myVar: TheType;

而不是

let myVar: [string[], string[]];

我试过与namespace、module、declare var 一起玩,但没有运气,如果需要,我可以解释他们的问题,但我只是觉得要么我'我遗漏了一些非常明显的东西,或者这是不可能的?!

注意:解决方法!需要,谢谢!

【问题讨论】:

    标签: typescript typescript-typings strong-typing


    【解决方案1】:

    我会将扩展Array 的接口与泛型混合以创建NestedArray 类型,您可以将其与任何类型一起使用。拥有嵌套数组类型将使您的内联类型更具可读性:

    interface NestedArray<T> extends Array<Array<T>> {}
    
    var x: NestedArray<string> = [['a', 'b'], ['c', 'd'], ['e', 'f']];
    
    var y = x[0]; // y is Array<string>
    var z = x[0][1]; // z is string
    

    与其他类型一起使用:

    var x: NestadArray<Customer> = [];
    

    【讨论】:

    • NestedArray 似乎合法,不错
    猜你喜欢
    • 1970-01-01
    • 2019-02-10
    • 2015-11-06
    • 2017-05-16
    • 2017-02-20
    • 2020-10-27
    • 2020-05-07
    • 1970-01-01
    • 2016-12-08
    相关资源
    最近更新 更多