【JS工具包】时长单位转换
表格字段需要做格式化,发现原来代码中还用Math.floor来获取商,下面是原来的代码
durationTransform(duration) {
const days = Math.floor(duration / 86400)
duration %= 86400
const hours = Math.floor(duration / 3600)
duration %= 3600
const minutes = Math.floor(duration / 60)
duration %= 60
return (days && days + '天' || '') + (hours && hours + '时' || '') + (minutes && minutes + '分' || '') + (duration && duration + '秒' || '')
},
感觉有一些优化空间,于是有了下面的代码
durationTransform(duration) {
let last = duration % 86400
const days = (duration - last) / 86400
duration = last
last %= 3600
const hours = (duration - last) / 3600
duration = last
last %= 60
const minutes = (duration - last) / 60
return (days && days + '天' || '') + (hours && hours + '时' || '') + (minutes && minutes + '分' || '') + (last && last + '秒' || '')
}
一行优化了0.003ms,如果表格行数多了,优化效果就比较明显了
所有勿以善小而不为啊
浙公网安备 33010602011771号