JavaScript ラベルでループ処理を抜けだす方法|break

どうもかわうそです!

今日は『JavaScript ラベルでループ処理を抜けだす方法』を解説していきます!

ループ処理のbreakにラベルが必要になる例

ラベルを付けると、ループ処理がネストしている=入れ子状態になっている処理でbreakする際便利です!

例えば、

こんなループ処理があったとしましょう。

実行結果は

1 2 3 4 5 6 7 8 9 
2 4 6 8 10 12 14 16 18 
3 6 9 12 15 18 21 24 27 
4 8 12 16 20 24 28 32 36 
5 10 15 20 25 30 35 40 45 
6 12 18 24 30 36 42 48 54 
7 14 21 28 35 42 49 56 63 
8 16 24 32 40 48 56 64 72 
9 18 27 36 45 54 63 72 81 

九九になりますね。

計算結果が50を超えたらループ処理を停止するように、breakを記述するとどうなるでしょうか。

実行結果は、、、

1 2 3 4 5 6 7 8 9 
2 4 6 8 10 12 14 16 18 
3 6 9 12 15 18 21 24 27 
4 8 12 16 20 24 28 32 36 
5 10 15 20 25 30 35 40 45 
6 12 18 24 30 36 42 48 
7 14 21 28 35 42 49 
8 16 24 32 40 48 
9 18 27 36 45 

ありゃりゃ??50を超えても、次の段に進んでしまってますね・・・

[memo title=”ネストでのbrake”]ネストしている場合は、自分が所属している直近のループしかbrakeされない。[/memo]

6×9=54の時点でループ処理全体をbreakしたい場合はどうすればいいのでしょうか。

そんな時にラベルが役立ちます!

ラベルでループ処理をbreakする

さきほどまでのループ処理にラベルを付けて、そのラベルのついたループ処理をbrakeしてみます。

実行結果

1 2 3 4 5 6 7 8 9 
2 4 6 8 10 12 14 16 18 
3 6 9 12 15 18 21 24 27 
4 8 12 16 20 24 28 32 36 
5 10 15 20 25 30 35 40 45 
6 12 18 24 30 36 42 48

[memo title=”ラベル”]『ラベル名: 』でラベルを設定できます。[/memo]

[memo]『break ラベル名;』でラベルのついたループを脱出できます[/memo]

これで6×9=54以降はbreakされ、ループが止まりましたね!

ループ処理がネストして上手くbrakeできないときは、ラベルを付けて解決してみてください。

ここまで読んで頂いてありがとうございました!

フォローする