问答题455/1593计算出下面数组中的平均时间

1const arr = ["8:15", "6:35", "11:22"]
难度:
2023-06-01 创建

参考答案:

将时间转换为分钟数,计算平均值后再将结果转换回小时和分钟即可。具体步骤如下:

  1. 遍历数组中的每个时间,将其转换为分钟数并求和。

  2. 将总分钟数除以时间数量得到平均值,取整数部分作为小时数,余数部分作为分钟数。

  3. 如果分钟数小于 10,则在前面添加一个零以保持两位数格式。

  4. 将小时数和分钟数组合成字符串形式的时间表示。

1const arr = ["8:15", "6:35", "11:22"]; 2 3// 1. 将时间转换为分钟数并求和 4const totalMinutes = arr.reduce((acc, cur) => { 5 const [hours, minutes] = cur.split(':'); 6 return acc + Number(hours) * 60 + Number(minutes); 7}, 0); 8 9// 2. 计算平均值并将结果转换回小时和分钟 10const averageMinutes = Math.floor(totalMinutes / arr.length); 11const hours = Math.floor(averageMinutes / 60); 12const minutes = averageMinutes % 60; 13 14// 3. 格式化分钟数 15const formattedMinutes = minutes < 10 ? `0${minutes}` : `${minutes}`; 16 17// 4. 组合成字符串形式的时间 18const averageTime = `${hours}:${formattedMinutes}`; 19console.log(averageTime); // 输出 "8:44"

因此,该数组中的时间的平均值为 "8:44"。

最近更新时间:2023-06-06

赞赏支持

预览

题库维护不易,您的支持就是我们最大的动力!