创建一个具有可变长度数组的接口,其中包含 TypeScript/Angular4 中的对象

Posted

技术标签:

【中文标题】创建一个具有可变长度数组的接口,其中包含 TypeScript/Angular4 中的对象【英文标题】:Creating an interface with an array of variable length, containing objects in TypeScript/Angular4 【发布时间】:2017-10-05 15:13:30 【问题描述】:

我正在尝试在包含描述 JSON 数据集的 TypeScript 接口的内存数据库中创建一个变量。这个数据集应该包含多个数组,这些数组又包含多个具有固定长度和一致属性的对象。

我正在用 Angular4 和 TypeScript 编写这个。数组必须是可变长度的,至少有 1 个成员

我写了这个伪代码来告诉你我的意思:

export class MyHomeBrewery 
  taps: Array<any> = [
    id: number;
    name: string;
    type: string;
    quantity: number;
  ][...];
  barrels: Array<any> 
    id: number;
    name: string;
    width: number;
    height: number;
    quantity: number;
 ][...];

我查看了 TypeScript 和 Angular 文档并进行了一些搜索,但我找不到正确的语法。有人知道吗?

【问题讨论】:

【参考方案1】:

您应该将它们用作如下接口

export interface MyHomeBrewery 
    taps: Array<Taps>;    
    barrels: Array<Barrels>;


export interface Taps 

    id: number;
    name: string;
    type: string;
    quantity: number;


export interface Barrels 
    id : number;
    name: string;
    width: number;
    height: number;
    quantity: number;

【讨论】:

当然。也恭喜我认为这是我在这里见过的最快的回复。 谢谢。这就是你要找的东西吗? 看起来确实像。具有讽刺意味的是,不知何故我知道我要寻找的东西被称为接口,但找不到告诉我必须使用 interface 关键字的文档。我会试一试,如果可行,请接受 + upvote。再次,快速回复的道具。 是的。您正在尝试什么以及遇到什么错误?这对你有用。当您分配值时,您需要像任何其他对象一样进行分配。 对一个写得很好的问题的精彩回答。

以上是关于创建一个具有可变长度数组的接口,其中包含 TypeScript/Angular4 中的对象的主要内容,如果未能解决你的问题,请参考以下文章

创建具有未指定可变行长度的多维数组(Java)

从C中的函数返回具有多个可变长度数组的结构

在 Python 中,如何创建可变长度组合或排列?

包含具有可变形状的多维 numpy 数组的 numpy 数组

使用具有多个值的键创建 NSDictionary

是否可以创建具有可变数量元素的数组?