指定した文字を繰り返す
短いのでとりあえずサンプルコードを見たら一目瞭然かもしれません。
1.指定した文字を繰り返す
var _len = 3; //繰り返し文字の回数(※文字列長ではなく繰り返し数であることに注意)
var _str = "FizzBuzz_"; //繰り返す文字列
console.log( Array(_len+1).join(_str) ); // 出力:FizzBuzz_FizzBuzz_FizzBuzz_
解説
1-1.指定長の配列を作る
Array(_len+1)
指定長の配列を作ります。値はすべてundefinedになります。
なぜ+1しているかというと……
1-2.連結した文字列を返す
join(_str)
で文字列連結によって文字の繰り返しを行っているので、繰り返したい回数+1の配列が必要というすんぽう。
undefinedはjoinを行った時に空文字列になるので結合文字列だけが残ります。
数値のゼロ埋めをする
結果は数値ではなく文字列です。
2.数値のゼロ埋めをする
var _len = 6; //0埋めする桁数
var _val = 123; //0埋めしたい数値
console.log( (Array(_len+1).join("0")+_val).slice(-_len) ); // 出力:000123
解説
2-1.数値の先頭に"0"をくっつけて文字列化
Array(_len+1).join("0")+_val
まず指定文字の繰り返しで連続した"0"の文字列を作って数値と結合します。
この時点で文字列になります。
2-2.文字列の切り出し
slice(-_len)
負の数を指定すると末尾からの切り出しになるので、余分な "0" は切り取られます。