如何在TypeScript中直接在数组中声明几个变量

时间:2019-06-17 14:19:18

标签: arrays typescript declaration

我需要在声明数组时声明几个相同类型(接口)的变量。

我正在Angular 8项目中使用它,显然是在使用打字稿。

我现在有这个:


export class GridComponent {

  pizza0: Pizza;
  pizza1: Pizza;
  pizza2: Pizza;
  pizza3: Pizza;
  pizza4: Pizza;
  pizza5: Pizza;

  constructor() {}

}

interface Pizza {
 name: string;
 ingredients: number;
 price: string;
}

我想要类似的东西


PizzaList: Array<Pizza> = new Array<Pizza>(pizza0, pizza1, pizza2, pizza3, pizza4, pizza5);


interface Pizza {
 name: string;
 ingredients: number;
 price: string;
}

并且我在数组中定义的每个变量都是最初声明的

2 个答案:

答案 0 :(得分:0)

您可以执行此操作而无需使用new Array<T>初始化数组。

如果您的值是预定义的,则可以执行以下操作:

PizzaList: Array<Pizza> = [pizza0, pizza1, pizza2, pizza3, pizza4, pizza5];

或者您可以像这样创建它们:

PizzaList: Array<Pizza> = [
    new Pizza(/*args*/),
    new Pizza(/*args*/),
    new Pizza(/*args*/)
];

答案 1 :(得分:0)

我假设您希望pizzaList是一个Pizza对象数组。您可以按如下方式创建它:

const pizzaList: Array<Pizza> = [
    { name: 'Margherita', ingredients: 1337, price: 9.99 },
    { name: 'Quattro stagioni', ingredients: 1337, price: 9.99 }
];

如果您只想将其声明为“长度为6的比萨饼数组”,则不可能。您不能将其声明为Pizza对象的固定长度数组,只能将其声明为Pizza对象的数组,而无需指定长度。