【JavaScript】同じ文字(列)を繰り返して新しい文字列を生成。

PC版へ 2015年12月24日

例えば、文字列 "abc" があったとして、これを3回繰り返す "abcabcabc" という文字列をつくりたいとき、新しめのブラウザでは repeat() という関数が利用できます。

var orig = "abc";
var str = orig.repeat( 3 );
// str = "abcabcabc"

まあ便利。

ただし Internet Explorer では repeat() が未実装なので、これと同じ働きをする関数を定義しておいてあげましょう。

if (!String.prototype.repeat) { /* String.repeat が定義されていなければ… */
   String.prototype.repeat = function(count) {/* …定義する。 */
      return Array(count*1+1).join(this);
   };
}

ほんとは String ( = this )が null の場合だとか、引数 count が数値(あるいは数値と認識できる文字列)で無い場合に対処するためのエラー処理を組み込んだほうが良いのだけれど、個人で使うぶんにはこれでよかろう。

関数内で何をやっているかというと、

…と、なんともシンプルでスマートな操作です。

 → Repeat Character N times | StackOverflow

賢いことを思いつく人が居るもんですなぁ。

関連記事

コメント

現在、コメント機能は停止しています。