JavaScriptのabc
2.「配列」で名簿作り


● 名簿作りで「配列」マスター(その1)


配列と言うと難しく学問的ですが、判り易く言うと、「氏名」と「身長」と「体重」の3つの変数があったとした時にこの3つを絶えずセットで扱い、このセットの事を配列と呼ぶのです。

 

最終的な名簿の形は、下のボタンのクリックで出て来ます。

ボタン

 

この表の中には、変数として「小野小町」、「144」、「32」、「クレオパトラ」、・・・、「65」と、12個あります。これをグルーピングして「名前」のグループ、「身長」のグループ、「体重」のグループに分け、この3つのグループを「配列変数」と呼びます。

さらに、例えば「名前のグループの3番目」と言って「楊貴妃」を、「体重のグループの1番目」と言って「32」を示す事ができます。

定義の仕方は、「名前」の配列変数をnameとした時、下の様になります。

var name = ["小野小町", "クレオパトラ", "楊貴妃", "お花ちゃん"]

このケースの場合は、「配列変数nameの中には4つの要素がある」と言います。そして、例えば「クレオパトラにアクセスしたい場合には、name[1]と[]内に数字を書いて順番を指定します。この[]内の数字を添え字と呼び、これは0からスタートします。

すぐさま表を作るのは難しいので、まずは文章を一行書いてみます。

イラスト

具体的には下の様に、「document.write」を使って画像に「楊貴妃は身長157cmで、体重52kg 」と書いてみます。名前の配列name、身長の配列sinchou、体重の配列taijuuの各々3番目の要素にアクセスする事になります。

document.write(name[2] + "は身長" + sinchou[2] + "cmで、体重" + taijuu[2] + "kg")

 

画面は、下のボタンのクリックして見て下さい。

ボタン

実際のHTML内の記述は下の通りです。

プログラム

 

今回は、ここまで!

1.配列の書き方とアクセスの方法

を学びました。次回にはtableタグの中でのJavascriptの書き方を学びます。


● 名簿作りで「配列」マスター(その2)


先回は配列の定義の仕方とアクセスの仕方を学びました。今回は、アクセスに慣れるためにtableタグを使って名簿を書いてみます。

名簿の中味は、世界三美人の名前、身長、体重です。

イラスト

 

書き方ですが、今回は判り易くする為に、HTMLのタグ毎(表のマス毎)にdocument.writeの行を作りました。次の通りです。

1行目・・・<tr>のdocument.write
2行目・・・<td>1人目の名前</td>のdocument.write
3行目・・・<td>1人目の身長</td>のdocument.write
4行目・・・<td>1人目の体重</td>のdocument.write
5行目・・・</tr>のdocument.write
6行目・・・<tr>のdocument.write
7行目・・・<td>2人目の名前</td>のdocument.write
      (繰り返す)
19行目・・・<td>4人目の体重</td>のdocument.write
20行目・・・</tr>のdocument.write

では、配列変数の定義とあわせて、実際のHTML文書全体を見てみましょう。

プログラム

動きは、下のボタンのクリックで確認してください。

ボタン

 

今回は配列変数を使って表を作りましたが、同じパターンの記述を繰り返したのには閉口しました。これでは配列変数を使う意味がありません。

そこで、次回は配列変数と「繰り返し」を使って、すっきりしたプログラムを作ってみます。


● 配列と「繰り返し」でスッキリ!!


イラスト

前回表を作るのに、やたら繰り返すプログラムを作ってしまいました。コピペにうんざりです。さらに長い表を作るのはうんざりです。

 

そこで、今回は「繰り返し」処理をプログラムやらせる様にします。これによってスッキリしたプログラムになります。

 

繰り返しを行わせる方法は「for文」を使います。今、「Aと言う処理を、カウントがaからbづつ増(減)してcまで繰り返す」様にするには、下の様に記述します。

for(i=a; i<c; i+=b){ A }

()のいくつかの例を見てみます。

(i=0; i<20; i++)・・・iが0で始まって1づつカウント増し、i<20の条件の間繰り返す

(i=0; i<20; i+=2)・・・iが0で始まって2づつカウント増し、i<20の条件の間繰り返す

(i=7; i>0; i--)・・・iが7で始まって1づつカウント減し、i>0の条件の間繰り返す

今回は4人分のデータですから、

(i=0; i<3; i++){ A }

となります。Aは次に示す表(table)の中の横1列分の処理が入ります。

document.write(‘<tr>‘);
document.write(‘<td>‘ + name[i] + ‘</td>‘);
document.write(‘<td>‘ + sinchou[i] + ‘</td>‘);
document.write(‘<td>‘ + taijuu[i] + ‘</td>‘);
document.write(‘</tr>‘);

HTML文書全体を見てみましょう。

プログラム

動きは、下のボタンのクリックで確認してください。

ボタン

前回と同じ動きをしますね。

ところで「繰り返し」処理の方法には、「for文」以外に「while文」、「do while文」があります。下に簡単に説明しておきます。

while(条件式){繰り返したい処理}

do{繰り返したい処理}while(条件式)

これで配列と繰り返しはマスターできました。次回は「if文」で条件分岐してみます。

ページトップ

前ページ←

→次ページ

コーナー