JavaScriptの繰り返し処理の基本とメソッド
JavaScriptには繰り返し処理(ループ)を行うためのさまざまな方法が用意されています。この記事では、基本的なfor、while、do…whileループから、配列操作に使われるforEach、filter、mapなどのメソッド、そしてループの制御に使われるbreakとcontinueについて、サンプルコードと共に詳しく解説します。
目次
forループ
forループは、繰り返しの回数が明確に決まっているときに便利です。一般的な構文は次のとおりです。
for (let i = 0; i < 5; i++) {
console.log(i); // 0から4までの数値が出力される
}
この例では、変数iが0から始まり、iが5未満である限り繰り返し処理が行われます。iは毎回1ずつ増加します。
whileループ
whileループは、条件がtrueである限り繰り返し実行されます。終了条件が事前に決まっていない場合に使われることが多いです。
let i = 0;
while (i < 5) {
console.log(i);
i++;
}
この例では、iが5未満である限りループが続きます。iが5以上になるとループが終了します。
do…whileループ
do…whileループは、最初に条件チェックを行わず、必ず一度はループ内の処理が実行される構造です。
let i = 0;
do {
console.log(i);
i++;
} while (i >= 5);
この例では、iが5以上である限りループが続きますが、do…whileは最初に1回実行されるので、条件が満たされなくても1度は実行されます。
break文
break文は、ループの実行を強制的に中断し、ループを完全に終了させるために使用されます。条件に応じてループを終了させたいときに便利です。
for (let i = 0; i < 10; i++) {
if (i === 5) {
break;
}
console.log(i); // 0から4までが出力され、iが5のときにループ終了
}
この例では、iが5になるとbreak文が実行され、ループが終了します。
continue文
continue文は、現在のループをスキップして次の繰り返しに移行するために使用されます。特定の条件下で処理をスキップしたいときに便利です。
for (let i = 0; i < 5; i++) {
if (i === 2) {
continue;
}
console.log(i); // 0, 1, 3, 4が出力され、iが2のときはスキップ
}
この例では、iが2のときにcontinue文が実行され、そのループはスキップされて次のループに進みます。
forEachメソッド
forEachは配列の各要素に対して一度ずつ関数を実行します。これは、配列の各要素を処理するための簡潔な方法です。
const fruits = ['apple', 'banana', 'cherry'];
fruits.forEach(function(fruit) {
console.log(fruit);
});
この例では、配列fruitsの各要素が順番に出力されます。
filterメソッド
filterは、配列の各要素に対して条件をチェックし、その条件を満たす要素のみを含む新しい配列を作成します。
const numbers = [1, 2, 3, 4, 5];
const evenNumbers = numbers.filter(function(number) {
return number % 2 === 0;
});
console.log(evenNumbers); // [2, 4]
この例では、配列numbersから偶数のみが抽出され、新しい配列evenNumbersが作成されます。
mapメソッド
mapは、配列の各要素に対して関数を適用し、その結果を新しい配列として返します。配列の各要素を変換する際に便利です。
const numbers = [1, 2, 3, 4, 5];
const squaredNumbers = numbers.map(function(number) {
return number * number;
});
console.log(squaredNumbers); // [1, 4, 9, 16, 25]
この例では、配列numbersの各要素を2乗した新しい配列squaredNumbersが作成されます。
まとめ
JavaScriptにはさまざまな繰り返し処理の方法があり、用途に応じて使い分けることでコードの可読性や効率性を向上させることができます。forループやwhileループなどの基本的なループから、forEachやmap、filterといった配列操作に便利なメソッドまで、各構文やメソッドを理解し、適切に活用することで、より効果的なJavaScriptのコーディングが可能になります。また、breakやcontinueを使用することでループの流れを柔軟に制御できるため、条件に応じた処理も実現できます。