JSで数値のゼロ埋めはString.padStart(), String.padEnd()を使おう
検索すると以下のようなコードでできますが...
function zeroPadding(v, len, padStr = '0'){
return (Array(len).join(padStr) + v).slice(-len)
}
console.log(zeroPadding(111, 5))
// output => '00111'
JSの組み込みオブジェクトであるStringのAPIを使うのがベターです。
文字列の先頭に任意の文字を埋めるメソッドとして String.padStart()
、末尾に任意の文字を埋めるメソッドとして String.padEnd()
があります。
以下、利用例です。
const num = 111
console.log(num.toString().padStart(5))
// output => ' 111' (先頭にスペースが2つ入る)
console.log(num.toString().padStart(5, '0'))
// output => '00111'
console.log(num.toString().padEnd(5))
// output => '111 ' (末尾にスペースが2つ入る)
console.log(num.toString().padEnd(5, '0'))
// output => '11100'
文字列の体裁を整えるケースでも汎用的に使えるものです。いいですね。
MDNのStringオブジェクトのドキュメントを眺めると、他にもいろいろ便利なAPIが用意されています。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String