水平(在表格中)而不是垂直列出数据

时间:2014-12-08 20:16:32

标签: jquery html css arrays loops

我有一个带有数组和字符串的对象:

{
    "result": [
    ],
    "text": "success
}

"result"包含四个包含十二个对象的数组

"result": [
    [
        {
        // data
        },
        // eleven more objects
    ],
    // three more arrays
]

整个对象来自一个包含年收入数据的数据库。在十二个对象中的每一个(每月一个)中,有关于总收入,净收入,支出,储蓄等的数据。每个数组("结果" -array)的直接子数是一年的数组。

我想要完成的是水平列出数据,每个月作为一列,每行都有一个"标签"作为解释行包含内容的图例。

这是我想要的结果。请注意图表如何显示每月的工资增加: correct

我得到了什么。二月的gross被置于一月的net之下,依此类推: correct

我尝试过嵌套循环,但我很难分手到新的一行。第一行(粗略)跨越十二列,并在每个单元格中输入正确的数据,但在第一行,我得到12 * 6个单元格,第二行12 * 5,第三行12 * 4,依此类推。除此之外,我需要循环四年("result" - 数组中的每个数组)。

这是我用来构建表格的方法,而且效果很好:http://jsfiddle.net/w3mktubx/

这是表循环的完整代码:http://jsfiddle.net/v4vo6zot/1/

我已尝试Object.keys()但在该部分也未取得成功。我知道我可以制作100多行代码并完成所有代码,但应该有一个解决方案,使用循环。我也更喜欢使用JS创建表,因为只有在用户导航到该特定页面时才能创建表。

我的月份对象中的数据如下。因为我现在正在工作,所以从记忆中做到了,但它应该是正确的:

{
    "id": "0",
    "year": "2011",
    "month": "january",
    "gross": "10000",
    "net": "8000",
    "expenses": "2000",
    "afterExpenses": "6000",
    "savings": "4000",
    "moneyToSpend": "2000"
}

所以我的问题是:有一个简单的解决方案吗?如果是这样,我该怎么做?

1 个答案:

答案 0 :(得分:0)

我通过添加一些ifelse if来解决这个问题,即使我真的不想使用它。

Fiddle with comments