この
「for」構文には、実はもう1つの使い方があります。それは「配列の全要素を取り出して処理する」ためのものです。(下のリスト部分を参照)
for(変数 in 配列)とすると、JavaScriptは、配列から各要素のインデックスを順に取り出し変数に収めます。連想配列の場合には、各要素のキーを順に変数へと取り出します。従って、繰り返し部分では、取り出した値を元に配列から要素を取り出し処理すればいいわけです。
注意したいのは、「配列から、直接、値を取り出すわけではない」という点です。
for(変数 in 配列)は、「配列から値を取り出して変数に収める」ものではありません。取り出すのは、あくまで「インデックス」や「キー」です。この点、よく勘違いしますので間違えないようにしましょう。
○利用例○
ではこれも簡単な例をあげておきましょう(下のリスト部分を参照)。ここでは、ARRという配列に収められている要素を順に取り出し合計して、その結果を表示しています。
for(n in ARR) というように繰り返し部分を用意し、配列ARRから各要素のインデックスを変数nに収めます。そして、
total += ARR[n]; というようにして、配列から順に要素を取り出し、toalに加算しています。
・forの基本形
for ( 変数 in 配列 )
……実行する処理……
※サンプルスクリプト
<html>
<head>
<script type="text/javascript">
<!--
var ARR = [5,10,15,20,25,30,35,40,45,50];
var total = 0;
for(n in ARR)
total += ARR[n];
alert("合計:" + total);
//-->
</script>
</head>
<body>
<H1>TEST.</H1>
</body>
</html>
