【发布时间】:2014-12-08 20:16:31
【问题描述】:
我有一个带有数组和字符串的对象:
{
"result": [
],
"text": "success
}
"result" 包含四个数组和十二个对象
"result": [
[
{
// data
},
// eleven more objects
],
// three more arrays
]
整个对象来自一个包含年收入数据的数据库。在十二个对象中的每一个(每个月一个)中都有关于总收入、净收入、支出、储蓄等的数据。每个数组(“结果”数组的直接子数组)都是一年的数组。
我想要完成的是水平列出数据,每个月作为一列,每一行都有一个“标签”作为图例来解释该行包含的内容。
这是我想要的结果。请注意图表如何显示工资每个月都在增加:
我得到了什么。二月的gross 放在一月的net 下,以此类推:
我尝试过嵌套循环,但我很难中断到新行。第一行(总)跨越十二列,并且在每个单元格中输入了正确的数据,但在第一行我得到 12*6 个单元格,第二行 12*5,第三行 12*4 等等。除此之外,我需要循环四年("result"-array 中的每个数组)。
这是我用来构建表格的工具,效果很好: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"
}
所以我的问题是:有没有简单的解决方案?如果是这样,我该怎么做?
【问题讨论】:
-
你到底是如何插入数据的?似乎 j 和 k 被翻转了,但是您的小提琴没有显示确切的插入,所以我不知道。月份对象内的数据格式示例也会有所帮助。
-
你能发布你的json数据吗?
-
@DavidMillar 我使用
$('<td/>').text(response.result[i][k].gross)添加我的结果。i计数为 4(表格和年份的数量),k计数为 12(对象中的单元格/键)。我现在可以看到k会更高,并开始选择我的对象中没有的项目,但这并没有给我一个错误,而且一切都很好地显示出来。我现在正在工作,我面前没有代码。
标签: jquery html css arrays loops