2017-10-09 102 views
0

初始化一个类型数组我有一个名为阵列看起来像这样物体的“购物车”,如何打字稿

cart:[{name:any, rate:number, qty:number, discount:number, subtotal:number}]

,我不希望在开始的时候有任何数据,但是当我写

cart:[{name:any, rate:number, qty:number, discount:number, subtotal:number}];

,并尝试使用

Object.keys(this.cart).length找到长度

它显示了一个错误,说

`TypeError: Cannot convert undefined or null to object` 

此外,如何清除阵列中的所有元素。

+2

天哪,真的吗?堆栈溢出? – smnbbrv

+0

这只是一个非常糟糕的习惯来到StackOverflow的一切,一个简单的谷歌搜索可能会给你答案 – Arash

+0

但我找不到答案... –

回答

0

根据我的理解,下面应该为你工作,

interface ISomething { 
    name: any; 
    rate: number; 
    qty: number; 
    discount: number; 
    subtotal: number 
} 
let cart: Array<ISomething> = []; 
0

您需要首先初始化数组:

cart = []; 

而且,这样做是为了清除阵列中的所有元素。

+0

它说undefined []'不可分配类型'[ {名称:任何;率:数字;数量:数量;折扣:数量;小计:数量; }]”。 类型'undefined []'中缺少属性'0' –