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