配列(はいれつ)| プログラミングの砂場

プログラミング学習やタイピング練習に役立つツールを公開しているサイトです。

配列(はいれつ)

配列は、後で登場する「繰り返し処理」などで、よく使われるので使い方を知っておきましょう。

また、「良いプログラマは配列をうまく使う」などと言われたりもします。

目次

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までふられます。

0 = 1
1 = 2
2 = 3
3 = 4
4 = 5

let x=["りんご","ばなな","みかん"]

の場合も同じように、「0」から要素数ぶんインデックスがふられています。

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

Arrayは、配列ということを意味しています。

配列ということまでは、わかるのですが、配列の中身はわかりません。

そこで、print_rを使って配列を表示みると…

// 配列の内容を一度に表示する
let x=["りんご","ばなな","みかん"]
print_r( x )

実行結果は、下のようになります。

Array (
  [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関数を使うと、配列などの中身を一度に表示できます。


次は、「多次元配列(たじげんはいれつ)」です。


TOP