每日一题:计算数组中的平均时间
2023-12-13 10:48:16
每日一题
计算给出数组中的字符的平均时间,里面的字符串时间是24小时制的,我们获取N个时间来获取一个平均值,时间精确到分钟,秒数忽略去掉即可。(听说是大厂开胃真题)
思路分析
- 首先我们想要获取平均值,在我们现有的字符串中,我们首先得将字符串转化为可以进行数值统计的真实时间,找最小的数值单位用作统计,所以第一步的目的很明确了,需要将字符串转化为单位为分钟的统计数字。注意数字和字符的隐式转换
let toalM = arr.reduce((pre,cur)=>{
let [h,m] = cur.split(":");
return Number(h)*60 + Number(m) + pre;
},0)
- 第二步,我们需要求分钟的平均数,在N个时间中,获取平均的值,以分钟作为单位。
let toalP = toalM/arr.length;
- 第三步,进行数值处理即可,既然已经拿到了平均的总时间单位了,只需要接下来处理好小时和分钟的关系即可,通过除以60取整得到的是小时数,取余,余数是分钟数。
let H = Math.floor(toalP / 60);
let M = toalP% 60;
H = H<10? `0${H}`:H;
M = M<10? `0${M}`:M;
- 最后拼接数据,输出最后的结果
const arr = ["8:15", "6:35", "11:22"];
let toalM = arr.reduce((pre,cur)=>{
let [h,m] = cur.split(":");
return Number(h)*60 + Number(m) + pre;
},0)
let toalP = toalM/arr.length;
let H = Math.floor(toalP / 60);
let M = toalP% 60;
H = H<10? `0${H}`:H;
M = M<10? `0${M}`:M;
console.log(H+":"+M);
文章来源:https://blog.csdn.net/m0_46672781/article/details/134947332
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!