こんにちは、さち です。
先日 JavaScript を書いているときに、「数字」の前に「0」で埋める(付け加える)ように処理したいことがありました。
「時間」の「秒」(または「分」)を常に2桁にしたいなど、よくあることなので、記述方法を備忘録として残しておきます。
サンプル
計測した結果[秒]を「分:秒(m:ss)」の形に変換します。
/* 計測結果 [単位: 秒] */
let result = 67;
/* 分:秒 の形にする */
let min = Math.floor(result / 60);
let sec = result % 60;
/* 秒が1ケタなら頭に0を追加する */
sec_add0 = sec.toString().padStart(2, '0');
console.log(min + ':' + sec_add0);// 1:07
padStart(2, '0') は、2文字になるように先頭から「0」で埋めるという意味です。入力された「文字列」が2文字以上の場合は何もしません。
padStart() は「文字列」で使用できるメソッドです。そのため、数値 sec は toString() で「文字列」に変換する必要があります。
条件分岐 if(sec < 10) を使って書くより、何をしたいかが伝わりやすそうですね。
ちなみに、padStart() があるなら padEnd() もあります。名前のとおり「末尾から埋める」機能のメソッドですが、使い道は少ないかもしれません。

コメント