6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ネストしたループ処理にラベルを貼り、条件を満たしたら抜ける方法(JavaScript)

Last updated at Posted at 2024-04-12

ネストしたループから抜けるには

JSのループ(for)から抜けるにはbreak、処理を終えるにはreturnを使えばいいですが、ネストしたループにおいて、特定の条件を満たしたらその全てから抜けるようにするには、工夫が必要です。
その一つの方法がループにラベルを貼る方法になります。

ラベル付きループとは?

JavaScriptでは、ラベルを使ってループに名前をつけることができます。これにより、通常のループ構造の外側から内側のループを制御できます。ラベルを使用すると、内側のループを外側のループに関連付けることができます。

ラベル付きループは次のように構文されます。

outerloop: for (var i = 0; i < 5; i++) {
  innerloop: for (var j = 0; j < 3; j++) {
    if (i === 2 && j === 1) {
      break outerloop;
    }
    console.log('i = ' + i + ', j = ' + j);
  }
}

上記の例では、outerloopとinnerloopというラベルを使用しています。break outerloop;は、内側のループを外側のループ全体から抜け出すために使用されます。

以下の例では、2つの配列を持つ多重ループを使用し、各要素の組み合わせを出力します。

var array1 = [1, 2, 3];
var array2 = ['a', 'b', 'c'];

outerloop: for (var i = 0; i < array1.length; i++) {
  innerloop: for (var j = 0; j < array2.length; j++) {
    console.log(array1[i] + ' - ' + array2[j]);
  }
}

この例では、outerloopが外側のループを表し、innerloopが内側のループを表しています。これにより、各配列の要素の組み合わせが順番に表示されます。

まとめ

今回のような、特定の条件を満たしたらネストしたループを抜けるケースの実装は、開発の現場において、それほど多くはないかもしれません。しかし、頭の片隅に置いておけば、きっとあなたの役に立つことでしょう。

PR

弊社では一緒に働く仲間を募集しています!
ご興味を持っていただいた方は以下のリンクからぜひお問い合わせください。
https://www.wantedly.com/companies/company_1847744/projects
68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f333632363338322f32316139343034312d646435662d653138322d303762372d3565613863386536313965352e706e67.png

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?