JavaScriptにおける繰り返し(for)の解説
基本構文
forループは、繰り返し処理を実行するための基本的な構文です。一般的な形は以下の通りです:
for (初期化; 条件; 増減) {
// 実行する処理
}
例:1から5までの数をコンソールに表示する。
for (let i = 1; i <= 5; i++) {
console.log(i);
}
配列の繰り返し
配列を操作するためにforループを使うのは非常に一般的です。
例:配列のすべての要素をコンソールに表示する。
const fruits = ["apple", "banana", "cherry"];
for (let i = 0; i < fruits.length; i++) {
console.log(fruits[i]);
}
注意:配列を繰り返し処理する際には、lengthプロパティを使用することで範囲を制限できます。
ネストしたループ
ループをネストすることで多次元配列や組み合わせの計算が可能になります。
例:二次元配列を繰り返し処理する。
const matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
for (let i = 0; i < matrix.length; i++) {
for (let j = 0; j < matrix[i].length; j++) {
console.log(matrix[i][j]);
}
}
ループの制御
ループを制御するために、break
やcontinue
を使用します。
例:特定の条件でループを中断する。
for (let i = 0; i < 10; i++) {
if (i === 5) {
break;
}
console.log(i);
}
例:特定の条件で次の反復をスキップする。
for (let i = 0; i < 10; i++) {
if (i % 2 === 0) {
continue;
}
console.log(i);
}
for...inループ
for...inループはオブジェクトのプロパティを列挙するために使用されます。
例:オブジェクトのプロパティ名を列挙する。
const person = { name: "John", age: 30, city: "Tokyo" };
for (let key in person) {
console.log(key, person[key]);
}
注意:配列に対してfor...inを使用することは推奨されません。
for...ofループ
for...ofループは、配列やその他の反復可能なオブジェクトを操作するために使用されます。
例:配列の要素を列挙する。
const fruits = ["apple", "banana", "cherry"];
for (let fruit of fruits) {
console.log(fruit);
}
for...ofは、簡潔で読みやすい構文を提供します。
パフォーマンスの考慮
ループのパフォーマンスを最適化するには、次の点に注意してください:
- 配列の
length
プロパティをループ内で繰り返し評価しない。 - 必要がない限りネストを深くしない。
- 条件式を簡潔に保つ。
例:length
プロパティを一度だけ評価する。
const fruits = ["apple", "banana", "cherry"];
const len = fruits.length;
for (let i = 0; i < len; i++) {
console.log(fruits[i]);
}