如何计算工作时长

cyyjm 2020-05-18 01:41:24
我有一个数组,这个数组的长度不定,格式如下(这个是包含驳回状态的数组):


[
{'hj':'受理','totaltime':'2:27'},
{'hj':'现场','totaltime':'3:38'},
{'hj':'预算','totaltime':'0:41'},
{'hj':'审核(驳回)','totaltime':'0:41'},
{'hj':'预算','totaltime':'0:6'},
{'hj':'审核','totaltime':'0:41'},
{'hj':'通知','totaltime':'8:17'},
{'hj':'收费(驳回)','totaltime':'0:15'},
{'hj':'预算','totaltime':'1:42'},
{'hj':'审核','totaltime':'0:51'},
{'hj':'通知','totaltime':'0:17'},
{'hj':'收费','totaltime':'30:45'},
{'hj':'验收','totaltime':'2:46'},
{'hj':'施工记录','totaltime':'0:7'},
{'hj':'竣工验收','totaltime':'1:25'}
]


其中,totaltime就是工作耗时,格式为  小时:分钟。现在我想统计除了收费环节(包括收费和收费(驳回))外的所有环节的工作时长(除了收费外所有的totaltime之和),我该怎么写?
...全文
245 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
fizzyfly 2020-05-18
  • 打赏
  • 举报
回复
var arr = [ {'hj':'受理','totaltime':'2:27'}, {'hj':'现场','totaltime':'3:38'}, {'hj':'预算','totaltime':'0:41'}, {'hj':'审核(驳回)','totaltime':'0:41'}, {'hj':'预算','totaltime':'0:6'}, {'hj':'审核','totaltime':'0:41'}, {'hj':'通知','totaltime':'8:17'}, {'hj':'收费(驳回)','totaltime':'0:15'}, {'hj':'预算','totaltime':'1:42'}, {'hj':'审核','totaltime':'0:51'}, {'hj':'通知','totaltime':'0:17'}, {'hj':'收费','totaltime':'30:45'}, {'hj':'验收','totaltime':'2:46'}, {'hj':'施工记录','totaltime':'0:7'}, {'hj':'竣工验收','totaltime':'1:25'} ]; var h = 0, min = 0, t = 0; var re = /收费.*/g; arr.forEach(x => { if(!re.test(x['hj'])){ t = x['totaltime'].split(':'); h += +t[0]; min += +t[1]; } }) var total = Math.floor(min / 60) + h + ':' + min % 60; console.log(total);
虎子8 2020-05-18
  • 打赏
  • 举报
回复
const arr = [];//你的数组
let totaltime = 0;
for (let i=0;i<arr.length;i++){
if (arr[i].hj!='收费'&&(arr[i].hj!='收费(驳回)') {
totaltime =totaltime+arr[i].totaltime*1;
}
}

87,921

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧