あまり新しくないもの

新しさはそんなに求めず、自分のすきなことをやりたい人生だった

jsのゼロパディング

よく使うやつ。

function zeroPadding(num, order) {
    var r = new Array(order);
    return (r.join(0)+num).slice(-order);
}

console.log(zeroPadding(1,2); // -> 01
console.log(zeroPadding(120,5); // -> 00120

一行で書くなら

function zeroPadding(num, order) {
    return ((new Array(order)).join(0)+num).slice(-order);
}

やってることは下記の通り。

  • 長さだけある空の配列を用意する
  • 0を連結文字として配列をjoinで結合して必要な長さの0が連続した文字列を確保
  • 対象の数値をそこに結合して00000123みたいな文字列を生成
  • 最後にsliceで、文字列の後ろから必要な桁数だけ取得する