將秒數轉換為非 0 的最大單位然后僅顯示有效單位的最簡潔方法是什么。
Input -> Expected output
1 -> 1s
61 -> 1m
120 -> 2m
3620 -> 1h
86400 -> 1day
uj5u.com熱心網友回復:
const units = [
[1, "s"],
[60, "m"],
[60 * 60, "h"],
[60 * 60 * 24, "day"]
];
function displayTime(seconds) {
let bestUnit = units[0];
for(const unit of units) {
if(seconds >= unit[0]) {
bestUnit = unit;
}
}
const [divisor, label] = bestUnit;
return Math.floor(seconds /divisor) label;
}
console.log(displayTime(1)); // 1s
console.log(displayTime(61)); // 1m
console.log(displayTime(120)); // 2m
console.log(displayTime(3620)); // 1h
console.log(displayTime(86400)); // 1day
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/418402.html
標籤:
