2017-10-09 101 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' –