配列と繰り返し文を組み合わせたら
ソースを簡略化して書けるんだよ。検索とかにも使える。
<body>
<script>
var rank=1;
var Mt = new Array(
"富士山",
"白根山",
"奥穂高岳",
"間ノ岳",
"槍ヶ岳"
);
document.write('<table border="3">');
for (var i=0 ; i<=4 ; i++)
{
document.write('<tr>');
document.write('<td>'+rank+'位</td>');
document.write('<td>'+Mt[i]+'</td>');
document.write('</tr>');
rank++;
}
document.write('</table>');
</script>
</body>
あらかじめ配列Mtに山の名前を入れておき、
for文で順位をつけて表にして書き出すソースです。
配列の連番は0から始まる(決まり事)ので、
(→富士山が0、白根山が1...槍ヶ岳が4)
for( )のvarが i=0 になってます。
そして、i<=4でiが4になるまで繰り返す
(0~4なので5回繰り返す)ようにしてます。
→4でなくてもいい。3なら4回繰り返しで4位まで出力)
var rank=1という変数とrank++によってrankは
たったこの1行で順位1、2、3・・と自動的に出力されるし、
(前章を見れば、ココはiでいいのでは?というとこなんですがMtの値が0から
始まってしまうので、順位を1番から始めるためにvar rank=1、rank++と指定
してi++の影響を受けないようにしてます)
Mt[i]はi++によって[0]・・富士山~[1]、[2]と自動的に[]の値が
+1になることで 富士山、白根山、奥穂高岳と出力される。
document.write('<td>'+rank+'位</td>');
document.write('<td>'+Mt[i]+'</td>');
この2行で1位から5位までのランキング表ができちゃう。
長ーいソースを書かなくていいから、スッキリして見やすい。
そんな使い方ができるんですね~。
繰り返し文では、繰り返し処理から抜けるbreakと、 繰り返し処理の先頭に戻るcontinueというものがあるよ
for(var i=1 ; i<=10 ; i++){ if(i==3) continue; if(i==7) break; document.write(i+"回目の繰り返しです!<br>"); }
3回目の所が抜けている。 上記のソースで、もしiが3の時はcontinue、つまり‘先頭に戻りなさい’という命令が入っているから。
また、for文の条件を見てみるとiが10になるまで繰り返すようになってるけど、 実際には6までしか表示されてない。 それはiが7の時break(繰り返し文から抜けなさい)という指令が実行されるからだよ。