计算运行速度



我的问题是一个错误的结果。我有一个函数,这个函数有一个距离和一个时间。我想要达到的结果是计算跑步速度。

function runningPace(distance, time) {
let result = time.replace(":", ".")
let fl = parseFloat(result)
let calc = fl / distance
let num = calc.toFixed(2) + ''
if(num.length === 1) {
num = num + '.00'
}
let rep = num.replace('.', ':')
console.log(distance, time, result, fl, calc, rep, num)

return rep;
}
console.log(runningPace(5, '25:00')) // '5:00'
console.log(runningPace(4.99, '22:32')) // '4:30'

我写了这样一个函数。很抱歉命名,我修好后会修好的。

当我测试这个代码时,输出是:

应为"4:47"等于"4:30">

"4:30"=>4分30秒

如何找到解决方案?提前感谢大家。

以秒为单位转换任何内容:

function runningPace(dist, time)
{
let 
[ mn, sc ] = time.split(':').map(Number)
, fl         = Math.floor(((mn *60) + sc) / dist)
;
sc = fl % 60
mn = (fl - sc) / 60
return `${mn}:${(sc<9)?'0'+sc:sc}`
}
console.log(runningPace( 5,    '25:00'))  // 5:00
console.log(runningPace( 4.99, '22:32'))  // 4:30

相关内容

最新更新