【ゼロからはじめるプログラミング】JavaScript学習 #14

【ゼロからはじめるプログラミング】JavaScript学習 #14

ゼロからはじめるプログラミング講座の第二十六回です。今回はfor文の特殊な止め方を解説します。for文の条件に左右されず{}の処理を止めたりスキップしたりする方法です。

 

  1. for文でreturnを使ってみよう。
  2. breakを使おう。
  3. continueを使ってみよう。

 

 

for文でreturnを使ってみよう。

関数で戻り値を得るために使ったreturnですがもう一度確認してみましょう。

function main(){
  var a = "test"
  console.log(a) // main()を実行すると表示される
  return a // main()を実行すると返すもの
  console.log("見えますか?") // returnで終了するので表示されない。
}
console.log(main())
test
test

 

このようにreturnは関数の外に値などを返して処理をそこで終了させるものでした。

このreturnはforループでも有効でループを終了させることができます。

 

function main(){
  for(var i=1; i<10; i++){
    console.log(i)
    if(i == 5){
      console.log("ここで終了")
      return // ここで処理を止めます。値は何も返しません。
    }
  }
  console.log("チェック") // returnで終了するので表示されない。
}
main()
console.log("test")
1
2
3
4
5
ここで終了
test

 

returnは関数内で使う必要があるのでまずは関数内にfor文を入れます。

止めたい場所でreturnを使います。値を返す必要がない場合はreturnのみでよい。

しかしこのreturnの動作をよく確認してください。returnは関数全体を終了しています。

これだと関数内ではfor文だけを止めることはできないことになります。もちろんそんなことは無いので次はbreakを解説します。

 

 

breakを使おう。

さっそくコードを実行して動作を確認しましょう。

for(var i=1; i<10; i++){
  if(i == 5){
    break // ここでループを止める
  }
  console.log(i)
}
1
2
3
4

 

このように関数内でなくともforループを止めることができます。使い方も簡単で止めたいところでbreakと書くだけです。brakeではなくてbreakです間違えやすいので注意。

もちろん関数内のforループでも使えて、関数全体を止めることはありません。

 

ループを止める方法でもう1つ特殊なものがあります。単純に止めるのではなくループを1回分スキップするというものです。

 

 

continueを使ってみよう。

特定の場所だけループをスキップしてみます。

for(var i=1; i<10; i++){
  if(i%2 == 0){ // 偶数なら
    continue
    console.log("skip") // 表示されない
  }
  console.log(i) // continueされた場合は表示されない
}
1
3
5
7
9

 

偶数だけをスキップするようにしました。breakと同様にcontinueと書くだけでそれ以降の処理がスキップされます。処理がスキップされインクリメント(i++)してからもう一度条件を確認します。

breakとcontinue両方とも便利な機能なので覚えておいてください。

 

 

お疲れ様でした。今回は簡単なので練習問題はありません。for文を使ったループの解説は今回で一旦終了とします。ループの構文は他にwhile文などがあるのですがfor文が使えれば十分なので当分解説することはありません。次回からは配列について解説します。

次も頑張って記事を作るのでチャレンジしてください!

JavaScript #1/#2/#3/#4/#5/#6/#7/#8/#9/#10/#11/#12/#13/#14/#15/#16/#17/#18/#19/#20

 コメント来た?
    ∩∩
   (´・ω・)
   _| ⊃/(___
 / └-(____/
  ̄ ̄ ̄ ̄ ̄ ̄ ̄
 来たら起こして。

   ⊂⌒/ヽ-、__
 /⊂_/____ /
  ̄ ̄ ̄ ̄ ̄ ̄ ̄

コメントを残す

メールアドレスが公開されることはありません。

内容をご確認の上、送信してください。URLを含むコメントは承認待ちになります。