ECMAscriptの配列

配列にも型はありません。 各要素にどんな型でも入れることができます。 要素によって型がちがってもかまいません。

配列の生成

配列の大きさを指定して作成

var a = new Array(10);

配列の大きさを指定しないで作成

var a = new Array();

要素の値を指定して作成

var a = [1,1,2,3,5,8];

配列要素

配列の要素には a[i] の形式で参照できる。 インデックスは 0 から始まる。

配列のサイズより大きいインデックスを指定して参照すると undefinedが返される。 エラーにはならない。

配列の大きさ

配列の大きさは length プロパティで得ることができる。

例

$ rhinojs> var a = new Array();js> a[0]=10;js> a[1]=11;js> print( a.length );2js> print( a[0] );10js> print( a[5] );undefined

ループの書き方

配列のすべての要素について処理を行うときのループの書き方はつぎのようになります。

通常は書き方(1)を使います。

書き方(1)

for (i=0; i<a.length; i++) { print( a[i] );}

書き方(2)

for (i in a) { print( a[i] );}

書き方(1)の場合にはすべての要素についてループ本体が実行されます。

書き方(2)の場合には存在する要素についてループ本体が実行されます。

例えば配列 a が

var a = [1,2,,,5];

のとき、a.length は5で、a[2],a[3] は undefined です。

書き方(1)の実行結果は

12undefinedundefined5

書き方(2)の実行結果は

125

となります。

例

配列のすべての要素の和を求める。

var a = [1,1,2,3,5,8];var sum, i;sum = 0;for (i=0; i<a.length; i++) { sum = sum + a[i];}print( sum );