Array.prototype

Did you know that you can read content offline by using one of these tools? If you would like to read offline MDN content in another format, let us know by commenting on Bug 665750.

Dash App

概要

Array コンストラクタのプロトタイプを表します。

詳細

Array インスタンスは、Array.prototype を継承します。全てのコンストラクタと同様に、コンストラクタのプロトタイプオブジェクトを変更して、Array インスタンスの全てを変更することができます。

プロパティ

constructor
オブジェクトのプロトタイプを生成する関数を示す
length
配列の要素数を反映する

メソッド

変異メソッド

これらのメソッドは配列を書き換えます。

pop
配列から最後の要素を取り除き、その要素を返す
push
配列の最後に 1 つ以上の要素を追加し、新しい配列の長さを返す
reverse
配列の要素の順番を逆転させる。最初の要素は最後に、最後の要素は最初になる。
shift
配列から最初の要素を取り除き、その要素を返す
sort
配列の要素をソート
splice
配列から要素を追加したり取り除いたりする
unshift
配列の最初に 1 つ以上の要素を追加し、新しい配列の長さを返す

アクセサメソッド

これらのメソッドは配列を書き換えず、配列を何らかの形で表現したものを返します。

concat
元の配列に他の配列や値をつないでできた新しい配列を返す
join
配列の全ての要素を繋いで文字列にする
slice
配列の一部を取り出して新しい配列を返す
toSource
指定された配列を表す配列リテラルを返す。この値を新しい配列を作るのに使うことができます。Object.prototype.toSource メソッドを上書きしています。
toString
配列とその要素を表す文字列を返す。Object.prototype.toString メソッドを上書きしています。
indexOf JavaScript 1.6 が必要
指定された値と等しい値を持つ最初の(添字の一番小さい)要素の添字を返す。見つからない場合、 -1 を返す。
lastIndexOf JavaScript 1.6 が必要
指定された値と等しい値を持つ最後の (添字の一番大きい)要素の添字を返す。見つからない場合、 -1 を返す。

反復メソッド

いくつかのメソッドは引数として、配列を処理する際にコールバックされる関数を取ります。これらのメソッドが呼ばれる際、配列の length(長さ)を一時記憶するため、コールバック中にこの長さを超えて追加された要素には訪れません。配列に対するその他の変更(値の書き換えや要素の削除)は、もしメソッドが変更した要素に後で訪れた場合には、操作の結果に影響を及ぼすかもしれません。

そのような場合におけるこれらのメソッドの振る舞いはうまく定義されているわけではないので、コードを読む他者を混乱させないよう、これらのメソッドに頼るべきではありません。配列を変化させなければならない場合、代わりに新しい配列にコピーしてください。

filter JavaScript 1.6 が必要
ある配列の要素で、与えられたフィルタリング関数が true を返したものすべてからなる新しい配列を生成する
forEach JavaScript 1.6 が必要
配列中のそれぞれの要素について関数を呼び出す
every JavaScript 1.6 が必要
ある配列の全ての要素が与えられたテスト関数を満たした場合に true を返す
map JavaScript 1.6 が必要
ある配列の全ての要素について与えられた関数を呼び出した結果からなる新しい配列を生成する
some JavaScript 1.6 が必要
ある配列の少なくとも 1 つの要素が与えられたテスト関数を満たした場合に true を返す
reduce JavaScript 1.8 が必要
1 つの値に還元されるように、配列の 2 つの値に対し(左から右へ)同時に関数を適用していく
reduceRight JavaScript 1.8 が必要
1 つの値に還元されるように、配列の 2 つの値に対し(右から左へ)同時に関数を適用していく

汎用メソッド

JavaScript の Array オブジェクト上の多くのメソッドは、配列「のように見える」あらゆるオブジェクトに対し広く適応されるよう設計されています。すなわち、length プロパティを持ち、数字のプロパティ名を使って(array(5) で参照するように)有効にアクセスできるどんなオブジェクトにも、それらを使用することができるのです。

join のようないくつかのメソッドは、それを呼び出すオブジェクトの length や数字のプロパティを読み取ることだけをします。他の reverse のようなメソッドは、オブジェクトの数字のプロパティや length が変更可能である必要があります。それゆえこれらのメソッドは、length プロパティや合成された数字のプロパティを変更することが許されていない String のようなオブジェクトに対し呼び出すことはできません。

JavaScript 1.6 で導入

関連情報

タグ (2)