const arr = ["8:15", "6:35", "11:22"]

参考答案

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

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

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

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

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

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

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