ぼちぼちあしあと

プログラム初心者の備忘録です。

多重ループの抜け方

ループの抜け方に関して、昨日はbreak文とcontinue文を紹介した。多重ループでもbreak文やcontinue文は使える。ただし、ジャンプ先は一番内側のループの括弧までだ。外側のループの括弧まではジャンプできない。

そこで、今日は多重ループの抜け方としてラベルというものを紹介する。ラベルを付けるとジャンプした際にラベルをつけたループの括弧までジャンプできる。

break文の場合は、

i_loop:  // これがラベル
for (var i = 3; i <= 5; i++){
    for (var j = 2; j <= 4; j++){
        if (j == 3) break i_loop;
        console.log(Math.pow(i,j));
    }
}

出力は

9

となる。また、continue文の場合は、

i_loop:
for (var i = 3; i <= 5; i++){
    for (var j = 2; j <= 4; j++){
        if (j == 3) continue i_loop;
        console.log(Math.pow(i,j));
    }
}

出力は

9

16

25

となる。

これらの場合もbreak文だと括弧の直後、continue文だと括弧の直前までジャンプしているのが分かる。