ECMAscriptの配列
配列にも型はありません。 各要素にどんな型でも入れることができます。 要素によって型がちがってもかまいません。
配列の生成
配列の大きさを指定して作成
var a = new Array(10);
配列の大きさを指定しないで作成
var a = new Array();
要素の値を指定して作成
var a = [1,1,2,3,5,8];
配列要素
配列の要素には a[i] の形式で参照できる。 インデックスは 0 から始まる。
配列のサイズより大きいインデックスを指定して参照すると undefinedが返される。 エラーにはならない。
配列の大きさ
配列の大きさは length プロパティで得ることができる。
例
$ rhino js> var a = new Array(); js> a[0]=10; js> a[1]=11; js> print( a.length ); 2 js> print( a[0] ); 10 js> 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)の実行結果は
1 2 undefined undefined 5
書き方(2)の実行結果は
1 2 5
となります。
例
配列のすべての要素の和を求める。
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 );