String.prototype.repeat() は、文字列を指定した回数だけ繰り返して新しい文字列を生成するメソッドです。このメソッドは、特定のパターンを繰り返し生成したり、文字列を特定の長さに拡張したりするために使用されます[1]

構文

編集
str.repeat(count)
  • count: 文字列を繰り返す回数。0以上の整数である必要があります。

基本的な使用法

編集

以下のプログラムは、String.prototype.repeat() を使用して文字列を繰り返す基本的な例です。

const str = 'abc';

console.log(str.repeat(0));   // ""(空文字列)
console.log(str.repeat(1));   // "abc"
console.log(str.repeat(2));   // "abcabc"
console.log(str.repeat(3.5)); // "abcabcabc"(小数部分は切り捨て)

このプログラムでは、文字列 "abc" を異なる回数繰り返した結果を示しています。count が小数の場合は整数に切り捨てられます。

文字列の整形とパターン生成

編集

以下のプログラムは、repeat() を使用して文字列パターンを生成する例です。

// インデントの生成
function indent(level) {
  return ' '.repeat(level * 2);
}

console.log(indent(0) + 'トップレベル');     // "トップレベル"
console.log(indent(1) + '第1レベル');       // "  第1レベル"
console.log(indent(2) + '第2レベル');       // "    第2レベル"

// 区切り線の生成
const divider = '-'.repeat(30);
console.log(divider); // "------------------------------"

このプログラムでは、インデントを生成したり、区切り線を作成したりするために repeat() を使用しています。

文字列のパディング

編集

以下のプログラムは、repeat() を使用して文字列のパディングを行う例です(padStart()padEnd() が導入される前の方法)。

// 文字列の左側にパディングを追加する関数
function padLeft(str, length, padChar = ' ') {
  return padChar.repeat(Math.max(0, length - str.length)) + str;
}

console.log(padLeft('42', 5));      // "   42"
console.log(padLeft('42', 5, '0'));  // "00042"

このプログラムでは、数値を特定の長さに調整するために repeat() を使用して、必要な数の文字を左側に追加しています。

注意点

編集
  • 無効な引数: count が負の数または無限大の場合、RangeError が発生します。
  • 整数への変換: count が小数の場合、整数に切り捨てられます。
  • メモリの制限: 非常に大きな count 値を使用すると、メモリ不足エラーが発生する可能性があります。
  • 空文字列: 元の文字列が空の場合、どんな回数で repeat() を呼び出しても結果は空文字列になります。
  • 0回の繰り返し: count が 0 の場合、結果は空文字列になります。

脚註

編集
  1. ^ これは、特に整形やスペース埋めのような用途で役立ちます。

外部リンク

編集