多维json数组的问题....用小提琴

时间:2011-03-29 22:03:08

标签: javascript arrays json

我对json数组有一个奇怪的问题。

在每个数组中,还有另一个名为transactions的数组。

看起来像......

[{"account_name": "abc123",
  "transactions": [
       {"name": "1"},
       {"name": "2"}
   ]},
 {"account_name": "abc1234",
  "transactions": [
       {"name": "3"},
       {"name": "4"}
  ]}
]

当我遍历数组时,除了事务数组之外,每个元素都被识别为

这是应该发送一个非空的警告foreach事务数组的循环。

for(var i = 0; i < accounts.length; i++)
    {
        var accountLine = "<tr><td class='bold'>" + accounts[i].account_name + "</td></tr>";
        $("tbody#generalLedgerEntries").append(accountLine);
        if(accounts[i].transactions.length < 0)
        {
            alert("we have transactions!");
            for(var j = 0; j < accounts[i].transactions.length; j++)
            {
                var transLine = "<tr><td>" + accounts[i].transactions[j].type + "</td></tr>";
                $("tbody#generalLedgerEntries").append(transLine);
            }
        }
    }

以下是关于jsfiddle的问题的工作副本......

http://jsfiddle.net/Ntrca/1/

3 个答案:

答案 0 :(得分:2)

看起来你的比较运算符对我不利。应该是:

if(accounts[i].transactions.length > 0)

当我在小提琴中做出改变时,我会得到有关交易的警报。

答案 1 :(得分:1)

“transaction”数组中没有任何“type”属性。另外,检查小于零而不是大于。

的长度

答案 2 :(得分:0)

将“type”更改为“name”,所有内容都按预期工作......