配列(はいれつ)
配列は、後で登場する「繰り返し処理」などで、よく使われるので使い方を知っておきましょう。
また、「良いプログラマは配列をうまく使う」などと言われたりもします。
目次
1. 配列
配列は、複数の値をひとまとめにして取り扱うことができます。
例えば、1~5の値を同時に、変数に記憶しておきたい場合、どのようにするでしょうか?
//5つの変数にそれぞれ値を保存
let x1=1
let x2=2
let x3=3
let x4=4
let x5=5
5つの変数に値1~5を代入しますよね。
同時に記憶する値の数が少なければ、このような書き方でもよいのですが、値の数が100個だったら大変ですよね。
100個の値を記憶しておくのに、100個の変数が必要になってしまいます。
配列を使うと、1つの変数に複数の値を記憶しておくことができます。
1-1. 配列の作成
配列は、「[ ](角括弧(かくかっこ))」を使って記述します。
[値]
値は「,(カンマ)」を使って、いくつでも指定することができます。
[値,値,値,.....]
下のプログラムは、変数に配列を代入しています。
// 変数に配列を代入
let x=[1,2,3,4,5]
配列が持つ個々の値(この場合、「1,2,3,4,5」)のことを「要素」といいます。
そして、配列が抱えている要素の数を「要素数」といいます。
上で作った配列は、「要素数5」の「配列」です。
配列を作ったのはいいのですが、要素はどのように取り出したらいいのでしょうか?
1-2. 配列のインデックス(添え字)
実は、配列を作成したのと同時に、その要素(値)に対して自動的に連番の番号がふられています。
この連番のことを「インデックス」とか「添え字」などといいます。
インデックスは、「0」から始まり、要素数ぶんふられています。
let x=[1,2,3,4,5]
上の配列の場合、要素数は5なので、要素に対するインデックスは、下のように0~4までふられます。
1 = 2
2 = 3
3 = 4
4 = 5
let x=["りんご","ばなな","みかん"]
の場合も同じように、「0」から要素数ぶんインデックスがふられています。
1 = ばなな
2 = みかん
このように、配列の要素には、先頭から順番にインデックスが自動的にふられているのです。
(インデックスは0からスタートなので注意です。)
配列の要素を取り出すには、この「インデックス」を利用します。
1-3. 要素の取り出し
要素の取り出しは、配列が代入されている変数「x」に対して「[ ](角括弧(かくかっこ))」を使って取り出したい要素のインデックスを指定してあげます。
// 配列からインデックス「0」の要素を取り出す
let x=[1,2,3,4,5]
// インデックス0を指定
print( x[0] )
結果、「1」と表示されます。
// 配列からインデックス「1」の要素を取り出す
let x=["りんご","ばなな","みかん"]
// インデックス1を指定
print( x[1] )
結果は、「ばなな」と表示されます。
(インデックスは0が最初です。)
1-4. 要素の書き換え
配列が持つ要素の内容は、書き換えることができます。
(書き換えられないように固定することもできますが、ここでは割愛。)
下のプログラムを実行してみてください。
// 配列
let x=["りんご","ばなな","みかん"]
// 配列の宣言直後のx[0]は、「りんご」
print( x[0] + "\n" )
// x[0]を「りんご」から「メロン」へ変更
x[0]="メロン"
// x[0]は「メロン」になっている
print( x[0] + "\n" )
インデックス「0」の「りんご」が「メロン」に書き換わっています。
1-5. 配列が持つ要素数の取得
砂場JS(Javascript)の場合、配列が保持している要素の数を「配列.length」で取得することができます。
※プログラミング言語によって取得方は異なります。
//配列の要素数を取得してみる
let x=["りんご","ばなな","みかん"]
// 「配列.length」で要素数が取得できる
print("配列xの要素数は" + x.length + "個です")
結果は、「配列xの要素数は3個です」になります。
要素数の取得方法は、後で登場する「繰り返し処理」などでよく使いますので覚えておいてください。
2. 配列の中を確認する方法
ここで一つ、砂場JSの関数print_rを紹介しておきます。
もともとprint_rはプログラミング言語PHPに備わっている便利な関数です。
print_rを使うと、配列などの内容を一度に表示することが出来るので便利です。
砂場JSでも簡易的ですがprint_rを使えるようにしてあります。
下のプログラムを実行してみてください。
printを使って配列を直に表示すると…
// 配列の内容を一度に表示する
let x=["りんご","ばなな","みかん"]
print( x )
実行結果は、下のようになります。
Arrayは、配列ということを意味しています。
配列ということまでは、わかるのですが、配列の中身はわかりません。
そこで、print_rを使って配列を表示みると…
// 配列の内容を一度に表示する
let x=["りんご","ばなな","みかん"]
print_r( x )
実行結果は、下のようになります。
[0] => りんご
[1] => ばなな
[2] => みかん
)
Arrayは、配列ということを意味しています。
「[ ]」で囲まれている数字は、インデックス(添え字)です。
「=>」は、そのインデックスが保持する「要素」になります。
これからは、砂場JSで配列の中身を確認するときは、「print_r」を使ってください。
プログラム言語によっては、print_rと同じような機能が無い場合があります。
その場合は、配列の中を確認するには、「for文」などで「繰り返し処理」を書く必要があります。
下は、繰り返し処理を使って配列の中を確認する例です(for文についてはのちほど)。
// 配列
let x=["りんご","ばなな","みかん"]
// 配列の中を表示する(面倒)
for(let i=0; i<x.length; i++) {
print( "["+i + "] = " + x[i] + "\n" )
}
3. 試してみよう
5種類の乗り物を保持する配列を作成してください。
そして、その配列の要素数を「length」を使って表示、配列の内容をprint_rで表示してみてください。
3-1. 解答例
let norimono = ["車","バイク","電車","飛行機","船"]
print( "norimonoの要素数は" + norimono.length + "\n" )
print_r( norimono )
4. まとめ
配列を作成し、その要素を取り出して表示しました。
配列は、複数の値を持つことができます。
配列が持つ個々の値を要素といいます。
配列が持つ要素の数を要素数といいます。
配列の要素には0から始まるインデックス(添え字)が要素数ぶんふられています。
配列の要素を取り出すには、インデックスを指定します。
配列の要素数を「配列.length」などで取得できます。
print_r関数を使うと、配列などの中身を一度に表示できます。
次は、「多次元配列(たじげんはいれつ)」です。