我在 Jade 中遍历 JSON 对象数组有什么问题?

What's wrong with my iteration through an array of JSON objects in Jade?

我有类似的对象...

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

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

...但它们在一个数组中。

在 Jade 中,我有一个 table 显示如下...

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 中多个对象的 table。我尝试了以下但没有用。我究竟做错了什么?看起来很简单。

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

没有 table 出现。页面显示为空白。

以防万一,我正在使用 Express.js 生成对象数组。该页面只是呈现的视图。不涉及 ajax 或其他变量。

正如评论中所讨论的,循环应该是:

for i in data
  table
    ...

您试图在 data.length 上循环,它是单个值(数组的长度)。