2013年1月25日

JavaScript 初歩のまとめ ⑫ 制御文 for


前回 for 文を色々と試しながらまとめましたが、もう少し試してみたい事もあるので 続きです。


for 文のネスト


ex.1

document.write ('掛け算');
for (var i = 1; i < 10; i++) { 
    document.write('<br>', i + 'の段', '<br>');
    for (var j = 1; j < 10; j++) { 
        document.write (i + ' × ' + j + ' = ' + i * j, '<br>');
    }
}


ex.1 の実行結果






















for 文の繰り返し処理に for 文を書いて、2重のループにする事ができます。ex.1 では 前回のまとめで作った 掛け算のループを 2重のループに改造して、1の段から 9の段まで表示するようにしてみました。
カウンタ変数 i は ◯の段を 1~9 まで繰り返します。i のループを 1回処理する毎に 内側のループ(カウンタ変数 j のループ)が、i の段 の掛け算を 1~9 まで行います。
j のループが終了すると、i が 1増えて、次の段の掛け算が 行われ、9の段まで行うと全ての処理が終了します。ややこしく見えますが、やっている事は単純です。




複数の変数の値を増減させる for 文


for 文では 複数の変数の値を増減させながら ループする事もできます。この場合 扱う変数を , (カンマ)区切りで 書きます。



ex.2

var num = new Array();
for (var i=0, j=2; i<9; ++i, j*=2) {
    num[i] = j;
}
document.write (num);



ex.2 の実行結果














繰り返し条件を書く ( ) 内に 初期値と ループ1回毎の増減値を ,(カンマ)で区切って書きます。
今の所 この方法以外ではできない処理のサンプルが思いつきませんが、覚えておくと役に立つ時があるかも知れません。ex.2 は次のように書いてもとりあえず同じ結果になりました。

var num = new Array();
var j = 2;
for (var i=0; i<9; ++i) {
    num[i] = j;
    j *= 2;
}

document.write (num);

for 文についてはひとまず完了です。次回のまとめは、繰り返し処理の続きで、while 文にしようかと思います。



よろしければ こちらもどうぞ。 

0 件のコメント:

コメントを投稿