1つの変数に入れられる内容は1つだが、変数に背番号のようなものを付けて、複数の内容を扱う事が出来る。
この拡張された変数を配列変数と呼ぶ。
変数と配列変数の違いは以下である。
通常の変数 hensu = 1; 配列変数 hensu[0] = 1;
このように、変数のあとに大カッコ [ 〜 ] で区切った数字をつける事で、配列変数を表す。
数字が違えばそれは別の変数になる。
カッコの中の数字の事を、要素や添字(そえじ)と呼ぶ。
例えば、各月の日の数を表すのに以下のようにできる。
hensu[1] = 31; hensu[2] = 28; hensu[3] = 31; hensu[4] = 30; hensu[5] = 31; hensu[6] = 30;
もちろん、文字変数なども使える。
tukiname[1] = "Jan"; tukiname[2] = "Feb"; tukiname[3] = "Mar"; tukiname[4] = "Apr"; tukiname[5] = "May"; tukiname[6] = "Jun";
ただし、1つの配列変数の中では、1つの変数の型しか使えない。
配列変数hensuの内容は数値であると決めたら、全て数値にしなければならない。
カッコの中には式や変数を書けるので、
というような書き方も可能である。
hensu[1+3] = 1; hensu[i] = i * 10;
配列変数を使うには、その前に準備が必要である。
配列変数を作るには、以下のどれかのようにする。
変数 = new Array(要素の数); 変数を配列変数として作成する。 要素の数のぶんだけ、0番から順に作成する。 hensu = new Array(3); とした場合、作成されるのは hensu[0] hensu[1] hensu[2] の3つの変数である。 …が、作成されたよりも大きな要素の配列変数(hensu[100]とか)も普通に使う事が出来るので、 あまり深く考えなくてよい。
変数 = [要素0の内容 , 要素1の内容 , 要素2の内容 〜 ]; 変数を配列変数として作成し、 あらかじめ、要素0から順に内容を代入しておく。 入る内容が最初から決まっている場合に便利である。 先の日数の例は以下のようにまとめられる。 hensu = [0,31,28,31,30,31,30]; 必ず要素0から書かなければならないので、その部分には適当なデータを入れている。
要素を2つ使う事も可能である。これを二次元配列と呼ぶ。
表記は以下のようになる。
変数[1つ目の要素][2つ目の要素] hensu[1][2] = 1; 例えば、何月何日の天気を表すような時に使う。 tenki[1][8] = "hare"; tenki[10][10] = "ame";
二次元の配列変数を作成するには、以下のようにする。
例えば、3×5の大きさの配列を作る場合。
まず、1つめの要素のぶんの配列変数を作る。 hensu = new Array(3); 次に、作った配列変数のひとつひとつについて、それをさらに配列変数として定義する。 hensu[0] = new Array(5); hensu[1] = new Array(5); hensu[2] = new Array(5); これで、3×5の大きさの二次元配列が使えるようになる。 hensu[1][2] = "OK";
もちろん、普通はこうする。 hensu = new Array(3); for(i=0;i<=2;i++){ hensu[i] = new Array(5); }