「繰り返し(for / while / do…while)」をテーマに、基礎/中級/上級(応用)、各レベル5問ずつ、合計15問のオリジナル練習問題+解答+解説を作成しました。
基礎レベル(5問)
問題1
次のコードの出力は?
for (let i = 1; i <= 5; i++) {
console.log(i);
}
JavaScript解答と解説
- 解答:
1
2
3
4
5
- 解説:
iが 1 から 5 まで 1 ずつ増える for 文の基本パターンです。
問題2
次のコードの出力は?
let i = 1;
while (i <= 3) {
console.log(i);
i++;
}
JavaScript解答と解説
- 解答:
1
2
3
- 解説:while 文は条件が true の間ループを繰り返します。
i++で 1 ずつ増加。
問題3
次のコードの出力は?
let i = 1;
do {
console.log(i);
i++;
} while (i <= 2);
JavaScript解答と解説
- 解答:
1
2
- 解説:do…while は最低1回は必ず実行されます。その後条件をチェック。
問題4
次のコードの出力は?
for (let i = 0; i < 5; i += 2) {
console.log(i);
}
JavaScript解答と解説
- 解答:
0
2
4
- 解説:i を 2 ずつ増やす for 文です。0,2,4 が出力されます。
問題5
次のコードの出力は?
for (let i = 1; i <= 3; i++) {
console.log("Hello");
}
JavaScript解答と解説
- 解答:
Hello
Hello
Hello
- 解説:繰り返しの回数だけ同じ文字列を出力します。ここでは 3 回。
中級レベル(5問)
問題1
次のコードで 1〜5 の合計を求めて出力してください。
let sum = 0;
for (let i = 1; i <= 5; i++) {
// ここに処理
}
console.log(sum);
JavaScript解答例と解説
sum += i;
JavaScript- 解説:sum に i を順に加算することで合計を計算します。1+2+3+4+5=15。
問題2
次のコードの出力は?
for (let i = 1; i <= 3; i++) {
for (let j = 1; j <= 2; j++) {
console.log(i, j);
}
}
JavaScript解答と解説
- 解答:
1 1
1 2
2 1
2 2
3 1
3 2
- 解説:二重ループです。外側 i のループごとに内側 j のループが繰り返されます。
問題3
次のコードの出力は?
let i = 0;
while (i < 5) {
if (i % 2 === 0) console.log(i);
i++;
}
JavaScript解答と解説
- 解答:
0
2
4
- 解説:while 内で偶数のみ出力する条件付きループです。
問題4
次のコードの出力は?
for (let i = 5; i > 0; i--) {
console.log(i);
}
JavaScript解答と解説
- 解答:
5
4
3
2
1
- 解説:i を減らしていく for 文の例です。5 から 1 まで出力。
問題5
次のコードの出力は?
let str = "";
for (let i = 0; i < 3; i++) {
str += "*";
console.log(str);
}
JavaScript解答と解説
- 解答:
*
**
***
- 解説:文字列の累積により、1行目1個、2行目2個、3行目3個の * が表示されます。
上級/応用レベル(5問)
問題1
1〜10 の偶数だけ合計するコードを for 文で書いてください。
解答例と解説
let sum = 0;
for (let i = 1; i <= 10; i++) {
if (i % 2 === 0) sum += i;
}
console.log(sum);
JavaScript- 解説:i が偶数の場合のみ sum に加算します。2+4+6+8+10 = 30。
問題2
九九の表(1〜9 の掛け算)を出力するコードを書いてください。
解答例と解説
for (let i = 1; i <= 9; i++) {
let line = "";
for (let j = 1; j <= 9; j++) {
line += (i * j) + " ";
}
console.log(line);
}
JavaScript- 解説:二重ループで i × j の値を作り、行ごとに出力します。
問題3
配列 [2, 4, 6, 8, 10] の合計を while ループで求めてください。
解答例と解説
let arr = [2,4,6,8,10];
let sum = 0;
let i = 0;
while (i < arr.length) {
sum += arr[i];
i++;
}
console.log(sum);
JavaScript- 解説:インデックス i を使って配列の要素を順に加算します。合計は 30。
問題4
次のコードの出力は?
let i = 1;
do {
console.log(i);
i += 3;
} while (i <= 10);
JavaScript解答と解説
- 解答:
1
4
7
10
- 解説:do…while で初回は必ず実行。i を 3 ずつ増やして 10 以下まで出力。
問題5
次のコードで、1〜20 の数値のうち 3 の倍数だけを出力してください。
解答例と解説
for (let i = 1; i <= 20; i++) {
if (i % 3 === 0) console.log(i);
}
JavaScript- 解説:3 の倍数かどうかを
% 3 === 0で判定して出力します。3,6,9,12,15,18。


