13 / 2748%

LESSON 13 ・ ループ

ループ

繰り返して書く問題

console.log(0);
console.log(1);
console.log(2);
// ...
console.log(9999);

0から9999までの数字を順番に出力することを考えます。console.log(0)からconsole.log(9999)まで書けばもちろんできますが、10000行のコードになってしまい大変です。

let a = 0;
console.log(a);
a += 1;
console.log(a);
a += 1;
console.log(a);
// ...

変数を使って書けばconsole.log(a)a += 1のコピー&ペーストで書くことができますが、それでも大変です。

whileで繰り返す

let a = 0;
while (a < 10000) {
  console.log(a);
  a += 1;
}

同じ処理を繰り返すにはwhileを使います。whileifに似ていますが、ブロックの実行が終わるともう一度a < 10000の条件がチェックされます。そして、もし条件が正しければ、もう一度whileのブロックが実行されます。このようにして、条件が正しい間は処理が繰り返されます。

このような繰り返しをループ(loop)と言います。

PRACTICE

演習問題

コードを自分で書いて実行してから、答えと解説を確認しましょう。

問題1

whileを使って、0から4までの数字を順番に表示してください。

答えと解説を見る

模範解答

let a = 0;
while (a < 5) {
  console.log(a);
  a += 1;
}

a0から始め、表示するたびに1増やします。a5になると条件が偽になり、ループが終わります。

問題2

whileを使って、5から1までの数字を順番に表示してください。

答えと解説を見る

模範解答

let a = 5;
while (a > 0) {
  console.log(a);
  a = a - 1;
}

今回はループ変数を1ずつ減らします。a0になるとa > 0が偽になり、ループが終わります。

問題3

whileを使って、1から10までの整数の合計を求め、最後に合計だけを表示してください。

答えと解説を見る

模範解答

let number = 1;
let total = 0;

while (number < 11) {
  total += number;
  number += 1;
}

console.log(total);

numberを1ずつ増やしながら、その値をtotalに足します。ループが終わるとtotal55になります。