第6章 配列
この章ではJavaScript の 配列とは値に順序について説明します。
homepage
#**配列** *** ## **1.配列とは** 配列は特別な変数で、一度に複数の値を格納できます。 例えば、普段七つの単語を格納するには七つの変数が必要ですが、配列を使うなら一つで済みます。 ``` var day0 = "日曜日";//普通の変数 var day1 = "月曜日"; var day2 = "火曜日"; var day3 = "水曜日"; var day4 = "木曜日"; var day5 = "金曜日"; var day6 = "土曜日"; var days = ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"];//配列 ``` 配列データを作成することで大量の値を1つのデータのように扱えるわけです。 <br> ### **1-1.配列の宣言と初期化** 配列の宣言は、変数と同じようにvarを使います。角かっこ[]内には、要素に代入する値をカンマ区切りで指定します。 ``` var 配列名 = [値1, 値2, 値3 ・・・]; ``` 下記のように、要素3つ分の配列が作られます。 ``` var number = [1, 2, 3]; ``` <br> ### **1-2.要素の参照** 配列内の要素を参照するには、要素のインデックスを指定します。インデックスは0からの開始する数値です。1からの開始ではないので気を付けてください。 ``` 配列名[インデックス]; ``` #### **例** [sample6-1.html] ``` <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>サンプル</title> </head> <body> <script> var number = [1,2,3]; document.write("number[0]は" + number[0] + "です!" + "<br>"); document.write("number[1]は" + number[1] + "です!" + "<br>"); document.write("number[2]は" + number[2] + "です!" + "<br>"); </script> </body> </html> ``` #### **実行結果** number[0]は1です! number[1]は2です! number[2]は3です! <br> ### **1-3.要素への代入** ``` 配列名[インデックス] = 値; ``` #### **例** [sample6-2.html] ``` <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>サンプル</title> </head> <body> <script> var number = [1,2,3]; number[0] = [10]; document.write("number[0]は" + number[0] + "です!" + "<br>"); </script> </body> </html> ``` #### **実行結果** number[0]は10です! <br> ### **1-4.要素の追加** **(1)** 配列内に存在しないインデックスを指定するこで、要素を追加することもできます。 要素を追加するとき、インデックスは連続した番号えなくてもかまいません。 #### **例** [sample6-3.html] ``` <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>サンプル</title> </head> <body> <script> var number = [1,2,3]; number[3] = [10]; document.write("number[3]は" + number[3] + "です!" + "<br>"); number[9] = [99]; document.write("number[9]は" + number[9] + "です!" + "<br>"); </script> </body> </html> ``` #### **実行結果** number[3]は10です! number[9]は99です! <br> **(2)** 配列の要素に指定する値が最初から決まっていない場合は、まず空の配列を作っておいて、 後ろから要素を追加しても良いです。 #### **例** [sample6-4.html] ``` <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>サンプル</title> </head> <body> <script> var number = []; number[0] = 1; number[1] = 2; number[2] = 3; number[9] = 99; document.write("number[0]は" + number[0] + "です!" + "<br>"); document.write("number[1]は" + number[1] + "です!" + "<br>"); document.write("number[2]は" + number[2] + "です!" + "<br>"); document.write("number[9]は" + number[9] + "です!" + "<br>"); </script> </body> </html> ``` #### **実行結果** number[0]は1です! number[1]は2です! number[2]は3です! number[9]は99です! <br> ### **1-5.要素数の取得** 配列名の後ろに.lengthを付けると、配列が保持する要素の数を表します。 ``` 配列名.length ``` 厳密には最大インデックス + 1を表すので、欠番がある場合は、要素数ではなくなります。 #### **例** [sample6-5.html] ``` <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>サンプル</title> </head> <body> <script> var number = [1,2,3]; document.write("numberの長さは" + number.length + "です!" + "<br>"); number[9] = [99]; document.write("numberの長さは" + number.length + "になります!" + "<br>"); </script> </body> </html> ``` #### **実行結果** numberの長さは3です! numberの長さは10になります! <br><br> ## **2.二次元配列** 配列の集合体を二次元配列と呼びます。2つの配列を要素とした二次元配列です。 #### **例** [sample6-6.html] ``` <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>サンプル</title> </head> <body> <script> var number = [ [1,2,3],[4,5,6] ]; document.write("numberの長さは" + number.length + "です!" + "<br>"); document.write("number[0][0]は" + number[0][0] + "です!" + "<br>"); document.write("number[0][1]は" + number[0][1] + "です!" + "<br>"); document.write("number[0][2]は" + number[0][2] + "です!" + "<br>"); document.write("number[1][0]は" + number[1][0] + "です!" + "<br>"); document.write("number[1][1]は" + number[1][1] + "です!" + "<br>"); document.write("number[1][2]は" + number[1][2] + "です!" + "<br>"); </script> </body> </html> ``` #### **実行結果** numberの長さは2です! number[0][0]は1です! number[0][1]は2です! number[0][2]は3です! number[1][0]は4です! number[1][1]は5です! number[1][2]は6です! <br> #### **例** [sample6-7.html] ``` <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>サンプル</title> </head> <body> <script> var days = ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"]; var today = new Date(); var week = today.getDay(); document.write("今日は" + days[week] + "です!"); </script> </body> </html> ``` ### **実行結果** 今日は水曜日です! <br><br> *** >**練習** >>**問題**[ex6-1.html] 下記の三角図を出力しましょう。 ``` * ** *** **** ```
content
戻る