ネストされたループ
CoddyのJavaScriptジャーニー「基礎」セクションの一部。レッスン 44/77。
ネストされたループとは、別のループの中にあるループのことです。内側のループは、外側のループの1回の反復ごとに、すべての反復を完了します。
これをうまく例えると、時計です。各時(外側のループ)ごとに、分針(内側のループ)は60分のサイクルを一周しなければなりません。
ネストされたループの例:
let rows = 2;
let cols = 2;
for (let x = 0; x < rows; x++) {
for (let y = 0; y < cols; y++) {
console.log(x, y);
}
}
// これにより次が出力されます:
// 0 0
// 0 1
// 1 0
// 1 1外側のループ(x)はrows回実行され、そのそれぞれについて、内側のループ(y)はcols回実行されます。各ループには独自のカウンターがあります。外側のループが実行されるたびにyは0から再び始まり、一方でrowsとcolsは同じ値のままで、ループをいつ終了するかだけを示します。
チャレンジ
初心者指定された幅と高さのアスタリスク(*)の長方形を出力するプログラムを書きましょう。
入力: 2つの整数: width と height(スターターコードで既に読み込まれています)。
例:
width = 5、height = 3 の場合、出力は次のようになります:
*****
*****
*****width = 4、height = 6 の場合、出力は次のようになります:
****
****
****
****
****
****ループごとに新しいカウンターを使い(たとえば、行には i、1行のアスタリスクには j)、それを height または width と比較します。height と width 自体は変更しないでください。各行で width が再び必要になります。
自分で試してみよう
let width = parseInt(inp[0]); // この行は変更しないでください
let height = parseInt(inp[1]); // この行は変更しないでください
// 以下にコードを書いてください
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: JavaScriptオンラインコンパイラ