1const arr = ["8:15", "6:35", "11:22"]
参考答案:
将时间转换为分钟数,计算平均值后再将结果转换回小时和分钟即可。具体步骤如下:
遍历数组中的每个时间,将其转换为分钟数并求和。
将总分钟数除以时间数量得到平均值,取整数部分作为小时数,余数部分作为分钟数。
如果分钟数小于 10,则在前面添加一个零以保持两位数格式。
将小时数和分钟数组合成字符串形式的时间表示。
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