我正在尝试计算课程的燃尽图表数据。该课程有开始和结束日期,练习计数和实际学生开始和结束日期。我有来自服务器的数据JSON和课程数据。我处理它。首先,我正在计算totalExcercisesCount
,然后计算学生完成课程的天数。毕竟我得到了下一个数据对象:
const chartDataObj = {
idealBurn: [],
actualBurn: [],
idealIncrement: 0,
totalExcercisesCount: 12,
totalExercisesDoneCount: 4,
timeLine: {
courseFrom: "2018-09-10",
courseTo: "2019-06-21",
start: "2018-09-11",
finish: "2018-10-01",
totalDays: 20,
}
}
在我建立一条理想的线路之后,这是第一个问题。我正在尝试下一步,
chartDataObj.idealIncrement = Math.floor(
chartDataObj.timeLine.totalDays / chartDataObj.totalExcercisesCount
);
for (i = 0; i <= chartDataObj.timeLine.totalDays - 1; i++) {
chartDataObj.idealBurn.push(chartDataObj.idealIncrement * (i + 1));
}
chartDataObj.idealBurn.reverse();
我有12个练习要完成,但是在第二天,它显示为19。我在这里做错了什么?
然后我需要填写实际的刻录数据。但问题是,如何根据日期练习填写它并完成并在图表上显示?我的意思是在我的最终dataObject中我只有totalExercisesDoneCount
但在初始JSON中我有关于练习完成日期的信息。我应该按日期分组吗?
我也有一个用图表和所有代码准备的codepen。任何帮助将不胜感激。感谢名单