2015-01-13 22 views
0

我有對象與此類似...通過Jade中的JSON對象迭代發生了什麼問題?

{ 
    a: { 
     aa: 1, 
     ab: 2 
    }, 

    b: { 
     ba: 4, 
     bb: 3 
    } 
} 

...但他們是在數組中。

在玉,我有一個表顯示的是這樣的...

table 
    tr 
    td aa 
    td= data[0].a.aa 
    tr 
    td ab 
    td= data[0].a.ab 
    tr 
    td ba 
    td= data[0].b.ba 
    tr 
    td bb 
    td= data[0].b.bb 

它顯示正確。即使我用1替換0也是如此,因此兩個對象都是可見的。

現在,我想通過循環顯示一個data中的多個對象表。我嘗試了以下,但沒有奏效。我究竟做錯了什麼?看起來很簡單。

for i in data.length 
    table 
    tr 
     td aa 
     td= data[i].a.aa 
    tr 
     td ab 
     td= data[i].a.ab 
    tr 
     td ba 
     td= data[i].b.ba 
    tr 
     td bb 
     td= data[i].b.bb 

沒有表格出現。該頁面顯示爲空白。我使用Express.js生成對象數組。該頁面只是一個呈現的視圖。不涉及ajax或其他變量。

+0

只爲'我在數據'也許? – Phylogenesis

+0

@Phylogenesis我沒有想到這一點。有效。我也把'data [i]'改成了'i'。我仍然不知道什麼是不工作的。如果您願意,您可以將其作爲答案張貼,並且我可以將其標記爲正確。 – Antrikshy

回答

0

作爲評價所討論的,環應該是:

for i in data 
    table 
    ... 

你試圖環上data.length這是一個單一值(所述陣列的長度)。

+0

但後來我也在使用'data [i]'。我想這不起作用的原因。 – Antrikshy

+0

「in」的右側接受一個數組(或其他容器),併爲數組中的每個東西運行循環體。你沒有傳入實際的數組,只有一個數字(恰好是數組的長度)。所以沒有什麼東西可以循環。 – goldfire