如果我有
category_hours = {
Class: [
{
hour:2,
minute:2
},{
hour:1,
minute:1
}
]
}
如何将小时和分钟加在一起,以便我有3小时3分钟?
我尝试了这个jquery.each循环,但它只输出每个小时和分钟,它似乎没有应用任何数学。
jQuery.each(category_hours.Class, function()
{
var totalHours = 0;
var totalMins = 0;
totalHours += parseInt(this.hour) * 60
totalMins += parseInt(this.minute)
var totalTime = totalHours + totalMins;
var realMin = totalTime % 60;
var realHour = Math.floor(totalTime / 60);
$('#classHr').append(realHour);
$('#classMin').append(realMin);
})
答案 0 :(得分:1)
在每个函数之外声明totalHours
和totalMins
。
var totalHours = 0;
var totalMins = 0;
jQuery.each(category_hours.Class, function()
{
totalHours += parseInt(this.hour) * 60;
totalMins += parseInt(this.minute);
})
var totalTime = totalHours + totalMins;
var realMin = totalTime % 60;
var realHour = Math.floor(totalTime / 60);
$('#classHr').append(realHour);
$('#classMin').append(realMin);
答案 1 :(得分:0)
这是Array.prototype.reduce()
的意思的后代。
var o = category_hours.Class.reduce(function(previousValue, currentValue) {
return {
hour: previousValue.hour + currentValue.hour,
minute: previousValue.minute + currentValue.minute
};
});
完成此操作后,您可以轻松地模拟分钟数,以获得您追踪的最终数据。
o.hour += ~~(o.minute / 60);
o.minute = o.minute % 60;