作者:手机用户2602896463 | 来源:互联网 | 2023-09-14 14:01
我有一个这种类型的对象数组Obj{timeEnd:06:45AM,timeStart:04:23AM}数组是特定日期的[obj1,obj2,….]类型.此数组定义了活动花费
我有一个这种类型的对象数组
Obj = { timeEnd:"06:45 AM",
timeStart:"04:23 AM"
}
数组是特定日期的[obj1,obj2,….]类型.
此数组定义了活动花费的时间.
我想重新创建或转换这个数组到像时间的数组
obj = { '4-5 AM' : 37,
'5-6 AM' : 60,
'6-7 AM' : 45
}
我试图搜索无法帮助.我是个菜鸟.
如果您需要任何其他信息,请告诉我.最终目标是创建一个小时chart.js图
解决方法:
您可以分割24小时值并计数直到达到目标小时,然后将剩余的分钟数添加.
function getHourParts(object) {
function getKey(h) {
return h + '-' + (h + 1);
}
function getTime(s) {
var t = s.split(':').map(Number);
return { h: t[0], m: t[1] };
}
var result = {},
start = getTime(object.timeStart),
end = getTime(object.timeEnd);
while (start.h result[getKey(start.h)] = 60 - start.m;
++start.h;
start.m = 0;
}
result[getKey(end.h)] = end.m - start.m;
return result;
}
console.log(getHourParts({ timeStart: '04:23', timeEnd: '06:45' }));
console.log(getHourParts({ timeStart: '12:03', timeEnd: '12:05' }));