JavaScript: Array.prototype.fill()メソッドを使って文字列を繰り返す
JavaScriptで文字列を繰り返す方法
repeat() メソッドを使う
最も簡単で効率的な方法は、repeat() メソッドを使うことです。
repeat()
メソッドは、文字列オブジェクトに追加されたメソッドで、指定した回数だけ文字列を繰り返します。
const str = "JavaScript";
// 文字列を3回繰り返す
const repeatedStr = str.repeat(3);
console.log(repeatedStr); // "JavaScriptJavaScriptJavaScript"
repeat() メソッドは、以下の点に注意が必要です。
- 引数には、繰り返す回数を指定します。
- 引数が省略された場合は、空文字列が返されます。
- 引数が負の数の場合は、エラーが発生します。
ループを使う
repeat()
メソッドが利用できない場合は、ループを使って文字列を繰り返すこともできます。
forループを使う例
const str = "JavaScript";
let repeatedStr = "";
// 文字列を3回繰り返す
for (let i = 0; i < 3; i++) {
repeatedStr += str;
}
console.log(repeatedStr); // "JavaScriptJavaScriptJavaScript"
whileループを使う例
const str = "JavaScript";
let repeatedStr = "";
let i = 0;
// 文字列を3回繰り返す
while (i < 3) {
repeatedStr += str;
i++;
}
console.log(repeatedStr); // "JavaScriptJavaScriptJavaScript"
ループを使う場合は、以下の点に注意が必要です。
- ループカウンタを正しく初期化、更新、終了する必要があります。
- 繰り返し処理の中で、文字列を連結する必要があります。
テンプレートリテラルを使う
ES6以降では、テンプレートリテラルを使って文字列を繰り返すことができます。
const str = "JavaScript";
// 文字列を3回繰り返す
const repeatedStr = `${str.repeat(3)}`;
console.log(repeatedStr); // "JavaScriptJavaScriptJavaScript"
- バッククォート (
) を使って文字列を囲む必要があります。
- 繰り返し処理を行う部分は、式のの中に記述する必要があります。
JavaScriptで文字列を繰り返す方法はいくつかあります。
それぞれの特徴を理解して、状況に応じて使い分けることが重要です。
repeat() メソッドを使う
const str = "JavaScript";
// 文字列を3回繰り返す
const repeatedStr = str.repeat(3);
console.log(repeatedStr); // "JavaScriptJavaScriptJavaScript"
// 文字列を5回繰り返し、改行を挿入する
const repeatedStrWithNewline = str.repeat(5) + "\n";
console.log(repeatedStrWithNewline); // "JavaScriptJavaScriptJavaScriptJavaScriptJavaScript\n"
ループを使う
const str = "JavaScript";
let repeatedStr = "";
// 文字列を10回繰り返す
for (let i = 0; i < 10; i++) {
repeatedStr += str;
}
console.log(repeatedStr); // "JavaScriptJavaScriptJavaScriptJavaScriptJavaScriptJavaScriptJavaScriptJavaScriptJavaScriptJavaScript"
const str = "JavaScript";
let repeatedStr = "";
let i = 0;
// 文字列を5回繰り返す
while (i < 5) {
repeatedStr += str;
i++;
}
console.log(repeatedStr); // "JavaScriptJavaScriptJavaScriptJavaScriptJavaScript"
テンプレートリテラルを使う
const str = "JavaScript";
// 文字列を3回繰り返す
const repeatedStr = `${str.repeat(3)}`;
console.log(repeatedStr); // "JavaScriptJavaScriptJavaScript"
// 文字列を5回繰り返し、改行を挿入する
const repeatedStrWithNewline = `${str.repeat(5)}\n`;
console.log(repeatedStrWithNewline); // "JavaScriptJavaScriptJavaScriptJavaScriptJavaScript\n"
- 上記のサンプルコードは、基本的な使い方を示しています。
- 実際の使用例では、必要に応じてコードを修正する必要があります。
JavaScriptで文字列を繰り返すその他の方法
reduce() メソッドを使う
reduce() メソッドを使って、文字列を繰り返し連結することができます。
const str = "JavaScript";
// 文字列を3回繰り返す
const repeatedStr = str.split("").reduce((acc, cur) => acc + cur, "");
console.log(repeatedStr); // "JavaScriptJavaScriptJavaScript"
- 初期値を空文字列に設定する必要があります。
- 連結処理は、アロー関数を使って記述する必要があります。
スプレッド構文を使う
const str = "JavaScript";
// 文字列を3回繰り返す
const repeatedStr = [...str.repeat(3)];
console.log(repeatedStr); // ["J", "a", "v", "a", "S", "c", "r", "i", "p", "t", "J", "a", "v", "a", "S", "c", "r", "i", "p", "t", "J", "a", "v", "a", "S", "c", "r", "i", "p", "t"]
- スプレッド構文は、配列の要素を展開するために使用されます。
Array.prototype.fill() メソッドを使う
Array.prototype.fill() メソッドを使って、配列を指定した文字列で埋めることができます。
const str = "JavaScript";
// 文字列を3回繰り返す
const repeatedStr = Array(3).fill(str);
console.log(repeatedStr); // ["JavaScript", "JavaScript", "JavaScript"]
- 配列の長さを指定する必要があります。
- 埋める文字列は、文字列リテラルまたは変数で指定できます。
自作関数を使う
上記のいずれの方法も使用できない場合は、自作関数を使って文字列を繰り返すことができます。
function repeatString(str, count) {
let repeatedStr = "";
for (let i = 0; i < count; i++) {
repeatedStr += str;
}
return repeatedStr;
}
// 文字列を3回繰り返す
const repeatedStr = repeatString("JavaScript", 3);
console.log(repeatedStr); // "JavaScriptJavaScriptJavaScript"
- 状況に応じて、最適な方法を選択する必要があります。
- 上記のサンプルコードを参考に、コードを修正して使用することができます。
javascript string