Core JavaScript 1.5 Reference:Global Objects:Array:prototype
出典: MDC
目次 |
[編集] 概要
Array コンストラクタのプロトタイプを表します。
[編集] 詳細
Array インスタンスは、Array.prototype を継承します。全てのコンストラクタと同様に、コンストラクタのプロトタイプオブジェクトを変更して、Array インスタンスの全てを変更することができます。
[編集] プロパティ
- constructor
- オブジェクトのプロトタイプを生成する関数を指定します。
- index
- これは、
Arrayプロトタイプの疑似プロパティです。なぜなら、デフォルトでは、継承されないからです。実際には、正規表現のマッチによって生成された配列にのみ存在します。このプロパティは、文字列中でマッチした部分のゼロから始まる添え字を表します。 - input
- このプロパティは、正規表現のマッチによって生成された配列にのみ存在します。正規表現がマッチを行った元の文字列を反映します。
- length
- 配列の要素数を反映します。
[編集] メソッド
[編集] 変異メソッド
これらのメソッドは配列を書き換えます。:
- pop
- 配列から最後の要素を取り除き、その要素を返します。
- push
- 配列の最後に 1 つ以上の要素を追加し、新しい配列の長さを返します。
- reverse
- 配列の要素の順番を逆転させます。最初の要素は最後に、最後の要素は最初になります。
- shift
- 配列から最初の要素を取り除き、その要素を返します。
- sort
- 配列の要素をソートします。
- splice
- 配列から要素を追加したり取り除いたりします。
- unshift
- 配列の最初に 1 つ以上の要素を追加し、新しい配列の長さを返します。
[編集] アクセサメソッド
これらのメソッドは配列を書き換えず、配列を何らかの形で表現したものを返します。
- concat
- 元の配列に他の配列や値をつないでできた新しい配列を返します。
- join
- 配列の全ての要素を繋いで文字列にします。
- slice
- 配列の一部を取り出して新しい配列を返します。
- toSource
- 非標準
- 指定された配列を表す配列リテラルを返します。あなたはこの値を新しい配列を作るのに使うことができます。Object.prototype.toSource メソッドを上書きしています。
- toString
- 配列とその要素を表す文字列を返します。Object.prototype.toString メソッドを上書きしています。
JavaScript 1.6 で導入
- indexOf
- 指定された値と等しい値を持つ最初の(添字の一番小さい)要素の添字を返します。もし見つからなかったら -1 を返します。
- lastIndexOf
- 指定された値と等しい値を持つ最後の (添字の一番大きい)要素の添字を返します。もし見つからなかったら -1 を返します。
[編集] 反復メソッド
JavaScript 1.6 で導入
いくつかのメソッドは引数として、配列を処理する際にコールバックされる関数を取ります。これらのメソッドが呼ばれる際、配列の length(長さ)を一時記憶するため、コールバック中にこの長さを超えて追加された要素には訪れません。配列に対するその他の変更(値の書き換えや要素の削除)は、もしメソッドが変更した要素に後で訪れた場合には、操作の結果に影響を及ぼすかもしれません。
そのような場合におけるこれらのメソッドの振る舞いはうまく定義されているわけではないので、コードを読む他者を混乱させないよう、これらのメソッドに頼るべきではありません。配列を変化させなければならない場合、代わりに新しい配列にコピーしてください。
- filter
- ある配列の要素で、与えられたフィルタリング関数が true を返したものすべてからなる新しい配列を生成します。
- forEach
- 配列中のそれぞれの要素について関数を呼び出します。
- every
- ある配列の全ての要素が与えられたテスト関数を満たした場合に true を返します。
- map
- ある配列の全ての要素について与えられた関数を呼び出した結果からなる新しい配列を生成します。
- some
- ある配列の少なくとも 1 つの要素が与えられたテスト関数を満たした場合に true を返します。
JavaScript 1.8 で導入
- reduce
- 1 つの値に還元されるように、配列の 2 つの値に対し(左から右へ)同時に関数を適用していきます
- reduceRight
- 1 つの値に還元されるように、配列の 2 つの値に対し(右から左へ)同時に関数を適用していきます。
[編集] 汎用メソッド
JavaScript の Array オブジェクト上の多くのメソッドは、配列「のように見える」あらゆるオブジェクトに対し広く適応されるよう設計されています。すなわち、length プロパティを持ち、数字のプロパティ名を使って(array[5] で参照するように)有効にアクセスできるどんなオブジェクトにも、それらを使用することができるのです。
join のようないくつかのメソッドは、それを呼び出すオブジェクトの length や数字のプロパティを読み取ることだけをします。他の reverse のようなメソッドは、オブジェクトの数字のプロパティや length が変更可能である必要があります。それゆえこれらのメソッドは、length プロパティや合成された数字のプロパティを変更することが許されていない String のようなオブジェクトに対し呼び出すことはできません。
JavaScript 1.6 で導入
Object.prototype から継承されるメソッド
__defineGetter__, __defineSetter__, hasOwnProperty, isPrototypeOf, __lookupGetter__, __lookupSetter__, __noSuchMethod__, propertyIsEnumerable, unwatch, valueOf, watch