くり返しとデータの持ち方

INPUT · スライド

2つの繰り返しを使い分ける

01 / 04

同じことが2通りで書ける

whilefor は、どちらも「繰り返す」ための道具。同じ結果を出すコードが両方の書き方でつくれるよ。

下の2つは出力がまったく同じ。違うのは部品の置き場所だけだね。

let i = 1;while (i <= 3) {  console.log(i);  i++;}for (let i = 1; i <= 3; i++) {  console.log(i);}

実行結果

1
2
3
1
2
3

02 / 04

選び方の目安

迷ったらこう考えよう。

  • 回数が先に決まっているfor(3回、10回、要素の数だけ)
  • 回数は分からず、条件しだいwhile(合計が100を超えるまで、在庫が無くなるまで)

どちらでも書けるときは for のほうが読みやすいことが多いよ。

let money = 100;let days = 0;while (money >= 30) {  money -= 30;  days++;}console.log(days);

実行結果

3

03 / 04

条件の境目に気をつける

i <= 5i < 5 は1回ぶん違う。ここはとても間違えやすいところだよ。

  • let i = 1; i <= 5 … 1,2,3,4,5 の5回
  • let i = 1; i < 5 … 1,2,3,4 の4回
  • let i = 0; i < 5 … 0,1,2,3,4 の5回

3つ目の形はこのあと配列を学ぶときによく出てくるので、頭の片隅に置いておこう。

for (let i = 0; i < 5; i++) {  console.log(i);}

実行結果

0
1
2
3
4

04 / 04

共通の落とし穴

どちらの書き方でも、気をつけることは同じだよ。

  • 条件に使う変数を必ず動かす。動かさないと終わらない
  • ためる変数は繰り返しの外に置く
  • 境目の数字<<= か)を一度声に出して確かめる

ここまでの内容を練習で固めてから、次の配列に進もう。