(BACK)

配列変数

1つの変数に入れられる内容は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;
というような書き方も可能である。

2.定義
配列変数を使うには、その前に準備が必要である。
配列変数を作るには、以下のどれかのようにする。
変数 = 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から書かなければならないので、その部分には適当なデータを入れている。

3.二次元配列
要素を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);
}

by D4U