繰り返しの制御

繰り返しの中のbreak文

  • switch文でのbreak文は、ブロックの外へ抜けるための構文でした
  • break文をwhile文やfor文のブロック内に記述することで、継続条件式がtrueであっても強制的にブロックの外へ抜けることができます


《for文とbreak文》

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>for文とbreak文</title>
<script>
  var tickets = [ 290, 296, 299, 301, 305 ];
  for (var i = 0; i < tickets.length; i++) {
    if (tickets[i] >= 300) {
      break;
    }
    console.log(tickets[i]);
  }
  console.log('終了');
</script>
</head>
<body>
</body>
</html>

《実行結果》

  1. 配列の要素数が「5」であるため、for文は「0〜5未満」の間、計5回繰り返す条件になっています
  2. 配列要素の値が300位上になった時点(4回目)でbreak文によって繰り返しを抜けています

continue文

  • continue文は、1回分の繰り返し処理を中断し、次の繰り返し処理へ進む構文です
  • break文とは違って継続条件式がfalseになるまで繰り返しを続けます
  • 最後まで繰り返すけど、ある条件のときだけ処理を行いたくない場合に利用します


《for文とcontinue文》

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>for文とcontinue文</title>
<script>
  var tickets = [ '指定席', '自由席', '指定席', '自由席', '指定席' ];
  for (var i = 0; i < tickets.length; i++) {
    if (tickets[i] == '自由席') {
      continue;
    }
    console.log(i + ' : ' + tickets[i]);
  }
  console.log('終了');
</script>
</head>
<body>
</body>
</html>

《実行結果》

  1. 配列要素の値が「自由席」だった場合にのみ「continue文」を実行するようになっています
  2. continue文が実行されると、以降の処理は無視してただちに次の処理へ進むため、コンソールへの出力はおこなわれません


  • 繰り返しの途中で処理を抜けるには break文を使う
  • 1回分の繰り返し処理をスキップするには continue文を使う