【JS】数値の桁揃え
JS逆引きレシピ本、059(P101)。
このページに書いてあったのは桁揃えの方法ではないのだが、これを使えば簡単にできると思ったのでメモ。
数値の桁揃えとは、桁数が少ないときに、頭に「0」を足すことである。
よくあるパターンとしては、月を2桁揃えにとういつするために、「1, 2, 3, …10, 11, 12」とあるものを「01, 02, 03, …10, 11, 12」とするものだ。
いままで、これをわざわざ面倒な計算で行っていた。
PHPの構文ではあるが、以下のような感じである。
var $month = 9; var $monthStr; if ($month<10) { $monthStr ="0". $month; }
すごいバカみたいな書き方。
桁数が増えたらどうするのかっていう話である。
この思考の流れのまま進めていったら、せいぜいswitch文に切り替える程度で、基本的には桁数分だけcaseを書くの?というツッコミが。
「頭の悪い書き方」という例題に載りそうなやり方だ。
今回の例で行けば、以下のように書けば完結する。
let month = 9; console.log(month.padStart(2, '0'); // 09
「padStart()」とは、任意の文字列の頭に、指定された桁数まで、指定された任意の文字で文字埋めをしてくれるメソッドである。
それでいいじゃん。
簡単だな。
っていうか、改めて見ても、最初の書き方がバカみたいだな。