【发布时间】:2020-11-10 02:45:47
【问题描述】:
我正在开发一个会计系统。我正在尝试显示一个条形图,其中包含有关每个月的收入和费用的信息。我通过 AJAX 从数据库中获取这些信息,然后得到下一个 JSON:
{
"results":{
"historic":[
{
"fecha":"2020-07-15",
"balance":"5433"
},
{
"fecha":"2020-07-15",
"balance":"6883.25"
},
{
"fecha":"2020-07-15",
"balance":"5383.15"
},
{
"fecha":"2020-07-18",
"balance":"12383.15"
},
{
"fecha":"2020-08-20",
"balance":"13385.35"
}
],
"monthly":{
"income":[
{
"month":"July\n",
"July\n":"5433"
},
{
"month":"July\n",
"July\n":"1450.25"
},
{
"month":"July\n",
"July\n":"0"
},
{
"month":"July\n",
"July\n":"7000.00"
},
{
"month":"August\n",
"August\n":"1002.20"
}
],
"expense":[
{
"month":"July\n",
"July\n":"0"
},
{
"month":"July\n",
"July\n":"0"
},
{
"month":"July\n",
"July\n":"1500.10"
},
{
"month":"July\n",
"July\n":"0"
},
{
"month":"August\n",
"August\n":"0"
}
]
}
}
}
Historic 下的部分用于另一个已经工作的图表,但 Monthly 下的部分包含我当前正在处理的图表所需的所有信息。
这是我需要做的:
我需要使用 Javascript 创建一个数组,该数组可以包含月份名称及其总收入或费用。问题是我在那个月的每笔交易中都有一个条目,我需要总结一下。有点难解释,我举个例子吧。
我明白了:
- 7 月:1000 美元
- 7 月:300 美元
- 7 月:50 美元
- 8 月:400 美元
- 8 月:7000 美元
而且我需要将它转换为数组内部的类似内容:
- 7 月:1350 美元
- 8 月:7400 美元
这是我一直在做的,但我认为这不是要走的路:
//DRAW THE MONTHLY RESULTS GRAPHIC
var logs = [];
for(var i = 0; i < jsonObj['results']['historic'].length; i++) {
var results = jsonObj['results']['monthly'];
if(logs.some(logs => logs.month === results['income'][i].month)){
console.log("Object found inside the array.");
//Need a way to get the total of the month from the logs Array.
var newTotal = results['income'][i].month + oldTotal;
logs.month = newTotal;
} else{
console.log("Object not found.");
logs.push(results['income'][i]);
}
}
console.log(logs);
感谢大家。我对这个论坛的东西很陌生,我希望我能很好地解释它。
【问题讨论】:
标签: javascript html arrays json javascript-objects