【发布时间】:2016-08-16 17:14:08
【问题描述】:
拥有来自 AJAX 请求的日期结果集,我想创建一个长度为 12 的数组,其中包含这些日期每个月下达的订单数,目的是使用 ChartJS 制作图表。
例如,如果数据库在一月份有 12 个订单,那么数组的 0 索引中将包含数字 12。
问题是这样我的代码看起来很糟糕,如果我想每天稍后再做,我将切换 31 个案例(看起来真的很乱)。
代码有效,但我想要一种更有效的方法。
// Array with quantity of orders per month
var meses= [0,0,0,0,0,0,0,0,0,0,0,0];
for(var i in data) {
// Create new Date from each orderDate
var originalDate = data[i].orderDate;
var myDate= new Date(Date.parse(laFechaOriginal));
var elMes = myDate.getMonth();
// According to the month number, the same index number in the array will increment its value by 1
switch(elMes) {
case 0:
meses[0] += 1;
break;
case 1:
meses[1] += 1;
break;
case 2:
meses[2] += 1;
break;
case 3:
meses[3] += 1;
break;
case 4:
meses[4] += 1;
break;
case 5:
meses[5] += 1;
break;
case 6:
meses[6] += 1;
break;
case 7:
meses[7] += 1;
break;
case 8:
meses[8] += 1;
break;
case 9:
meses[9] += 1;
break;
case 10:
meses[10] += 1;
break;
case 11:
meses[11] += 1;
break;
}
}
【问题讨论】:
标签: javascript arrays assign