配列のメリット
配列は普通の変数と何が違うのでしょうか?単に同じ名前を付けることだけが便利なのでしょうか?
そうではありません。一番便利なのは、変数を添え字に仕えることです。
たとえば以下のプログラムを見てください。
var kotae = new Array(3); kotae[0]="コーヒー"; kotae[1]="紅茶"; kotae[2]="ジュース"; alert(kotae[1]);このプログラムでは配列kotaeにコーヒー、紅茶、ジュースを入れています。そしてkotae[1]を表示していますから「紅茶」と画面に表示されます。
では、このプログラムで表示している部分の [1] を変数にしたらどうでしょうか。
var kotae = new Array(3); kotae[0]="コーヒー"; kotae[1]="紅茶"; kotae[2]="ジュース"; num = 1; alert(kotae[num]);
最後に表示する部分のkotae[1]がkotae[num]に変わっています。そして、そのnumには1が入っているので、このプログラムも前と同じく「紅茶」と画面に表示されます。
では、numに値を入力するようにしたらどうでしょうか?
var kotae = new Array(3); kotae[0]="コーヒー"; kotae[1]="紅茶"; kotae[2]="ジュース"; str = prompt("0,1,2を入れてください",""); num = parseInt(str); alert(kotae[num]);promptを使ってnumの値をキーボードから入力するようにしています。
このときに 1 を入力したらやはり「紅茶」が出ます。そして0を入力したら「コーヒー」が、2を入力したら「ジュース」が出ます。
もし配列を使わずに同じようなプログラム(0ならコーヒー、1なら紅茶、2ならジュースと表示するプログラム)を作ろうとするならif文を使う必要が出てきます。そして0~2までならたいして複雑さの違いはありませんが、これが20個ともなれば違いが歴然としてきます。配列を使う方がはるかにすっきりとしたプログラムを作ることが出来るのです。
問題8-1
1ならコーヒー、2なら紅茶、3ならジュースと表示するプログラムを配列を使わずに作ってみよう。