我需要在声明数组时声明几个相同类型(接口)的变量。
我正在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;
}
并且我在数组中定义的每个变量都是最初声明的
答案 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对象的数组,而无需指定长度。