JavaScriptでネストしたループから抜け出す最良の方法とは?ラベル付きbreak文の使い方を解説
JavaScriptでネストされた(多重)ループから抜け出す最も効果的な方法は、ラベル(label)を使うことです。ラベルはbreak文やcontinue文と組み合わせることで、ループの流れをより細かく制御できます。
ラベルとは、識別名の後にコロン(:)を付けたシンプルなもので、特定の文やコードブロックに対して付与します。通常のbreak文は直近の内側のループしか抜けられませんが、「break ラベル名」と記述することで、指定した外側のループまで一気に脱出できます。同様に「continue ラベル名」を使えば、指定したループの次の繰り返し処理へスキップすることも可能です。
サンプルコード
以下のコードを実行すると、break文にラベルを組み合わせて、ネストされたループから抜け出す動作を確認できます。
<html>
<body>
<script>
document.write("Entering the loop! <br /> ");
outerloop: // これがラベル名です
for (var i = 0; i < 5; i++) {
document.write("Outerloop: " + i + "<br />");
innerloop:
for(var j = 0; j < 5; j++) {
if(j > 3 ) break ; // 最も内側のループを抜ける
if(i == 2) break innerloop; // 内側のループを抜ける
if(i == 4) break outerloop; // 外側のループごと抜ける
document.write("Innerloop: " + j + " <br />");
}
}
document.write("Exiting the loop!<br /> ");
</script>
</body>
</html>コードのポイント
このサンプルでは、3種類のbreakの使い方を確認できます。
- break; — 条件を満たした時点で、最も内側のループのみを抜けます。
- break innerloop; — 内側のループに付けたラベルを指定し、内側のループを抜けます。
- break outerloop; — 外側のループに付けたラベルを指定することで、内側と外側の両方のループをまとめて終了します。
このようにラベルを活用すれば、フラグ変数を用意したり条件判定を重ねたりすることなく、意図したタイミングで正確にループを制御でき、コードの可読性も向上します。
-
JavaScriptで新しいブラウザウィンドウを開く最良の方法とは?window.open()の使い方を解説
JavaScriptで新しいブラウザウィンドウを開くには、windowオブジェクトのopen()メソッドを使うのが最も標準的で確実な方法です。 window.open()メソッドは、指定したURLを新しいウィンドウ(またはタブ)で開きます。第2引数でウィンドウ名、第3引数でサイズや位置などの表示特性を指定することも可能です。 window.open()の基本構文 window.open(URL, name, features); URL: 開きたいページのアドレス(必須) name: ウィンドウの名前またはターゲット属性(例: _blank)(省略可) features: ウィンドウの幅・高
-
重複ファイルを管理する最良の方法とは?初心者向け徹底ガイド
大容量HDDの時代でも、重複ファイルは悩みの種最近のパソコンには大容量のハードディスクが搭載されており、動画や音楽ファイル、数百枚に及ぶ写真など、さまざまなデータを自由に保存できます。しかし、どれほど大容量であっても、いつか必ず空き容量が尽きてしまうものです。そんなとき、慌ててプログラムをアンインストールする必要はありません。まず試すべきなのは、重複ファイルの整理と管理です。重複ファイルとは何か?ハードディスクにファイルを保存している限り、重複ファイルは避けて通れません。気づかないうちに少しずつ蓄積していきます。例えば、デジカメやスマートフォンの写真をパソコンに取り込む際、同じ写真を別々のフォ