ゼロからはじめるプログラミング講座の第二十六回です。今回はfor文の特殊な止め方を解説します。for文の条件に左右されず{}の処理を止めたりスキップしたりする方法です。
for文でreturnを使ってみよう。
関数で戻り値を得るために使ったreturnですがもう一度確認してみましょう。
function main(){
var a = "test"
console.log(a) // main()を実行すると表示される
return a // main()を実行すると返すもの
console.log("見えますか?") // returnで終了するので表示されない。
}
console.log(main())
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")
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)
}
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された場合は表示されない
}
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
∩∩
(´・ω・)
_| ⊃/(___
/ └-(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
来たら起こして。
⊂⌒/ヽ-、__
/⊂_/____ /
 ̄ ̄ ̄ ̄ ̄ ̄ ̄