【JS工具包】时长单位转换

发布时间 2023-09-21 14:55:03作者: WhoLovesAbby

表格字段需要做格式化,发现原来代码中还用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,如果表格行数多了,优化效果就比较明显了

所有勿以善小而不为啊