- Array([n]) (e3/N3)
- Array(e1, e2, ...) (e4/N3)
- n個の要素を持つ配列、もしくはe1, e2, ...を要素とする配列を作成する。配列の序数は0から始まる。NN3.0は要素は最初nullに初期化されるが、NN4.0以降はundefinedの状態になる。nは省略可能。下記のようにnを超える要素も使用可能だが、xx[6]を利用した時点で0〜6まで7個の要素が生成される。
xx = new Array(3); xx[0] = "Sun"; xx[1] = "Mon"; xx[6] = "Sat"; yy = new Array("Sun", "Mon", "Thu"); alert(yy[0] + yy[1] + yy[2]);以下のようにして2次元配列も扱うことができる。
xx = new Array(3); for (i = 0; i < xx.length; i++) { xx[i] = new Array(4); for (j = 0; j < xx[i].length; j++) { xx[i][j] = i * 10 + j; } } alert(xx[2][3]);以下のようにして[ ]内に文字列を使用することもできる。xx = new Array(); xx["Sun"] = "Sunday"; xx["Mon"] = "Monday"; alert(xx["Sun"]);NNでLANGUAGE属性にJavaScript1.2を指定した場合はnew Array(3)はArray(e1, e2, ...)の形式と解釈され、xx[0]が3という値をもつ単一要素を生成する。JavaScript1.3ではJavaScript1.1の仕様に戻された。
NN2.0でもArray()を使用可能だが、動作が不安定なので、次のような関数を自分で作成して用いなくてはならない。NN2.0ではxx[0]はxx.length(最初に定義された属性)を示すため、配列の序数は1から始めなくてはならない。
function MakeArray(n) { this.length = n; for (i = 1; i <= n; i++) { this[i] = ""; } return(this); } xx = new MakeArray(3); xx[1] = "AAA"; xx[2] = "BBB"; xx[3] = "CCC";- array
- new Array()の戻り値。
- array.length (e3/N3)
- 配列要素の個数を返す。
for (i = 0; i < xx.length; i++) { alert(xx[i]); }
- array.concat(array2) (e4/N4)
- arrayとarray2を連結した配列を返す。元の配列(array)は変更されない。引数は複数も可。
- array.join([separator]) (e4/N3)
- arrayの各要素の値をseparatorで連結した文字列を返す。separatorを省略した場合はカンマ(,)で連結されるが、JavaScriptのバージョンによって動作が異なるので省略しない方が無難。
- array.pop() (N4)
- 配列から最後の要素を削除する。
- array.push(e1, e2, ...) (N4)
- 配列にe1, e2などを値とする要素を追加する。JavaScript1.2までは追加した要素の内最後のものを返すが、JavaScript1.3では追加後の要素の個数を返す。
- array.reverse() (e4/N3)
- 配列の要素を逆順に並べ替えた物を返す。
- array.shift() (N4)
- 配列から最初の要素を削除し、その値を返す。
- array.slice(start[, end]) (e4/N4)
- start番目〜end番目までの要素を抜き出した配列を返す。
- array.splice(start, n, e1, e2, ...) (N4)
- start番目の要素からn個を削除し、その代わりにe1, e2, ...を埋め込む。NNのJavaScript1.2では削除された要素を返すが、JavaScript1.3では削除された要素を含むすべての要素を返す。
- array.sort([func]) (e4/N4)
- 配列をソートしてその結果の配列を返す。array自身もソートされる。funcで比較関数を指定することも可能。比較関数では負数、0、正数によって順序を返す。未定義の配列はNN3.0では"null"という文字列と見なされ、NN4.0やIE4.0ではundefinedとしてソートの対象から除外される。
function func(a, b) { return(b - a); } xx = new Array(3, 7, 8, 1); alert(xx.sort(func));
- array.toString() (e3/N3)
- 配列を文字列に変換する。
- array.unshift(e1, e2, ...) (N4)
- 配列の最初にe1, e2, ...を値とする要素を加え、結果の長さを返す。