まとめ(9)繰り返しの制御
繰り返しの中の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>
《実行結果》
- 配列の要素数が「5」であるため、for文は「0〜5未満」の間、計5回繰り返す条件になっています
- 配列要素の値が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>
《実行結果》
- 配列要素の値が「自由席」だった場合にのみ「continue文」を実行するようになっています
- continue文が実行されると、以降の処理は無視してただちに次の処理へ進むため、コンソールへの出力はおこなわれません
- 繰り返しの途中で処理を抜けるには break文を使う
- 1回分の繰り返し処理をスキップするには continue文を使う