JavaScript

Array.prototype.indexOf()メソッド

 編集:2022.08.18 by T.A.

その Array の要素に、指定の要素を指定位置から探してその位置(インデックス)を返します。存在しない場合は -1 を返します。

arr.indexOf(searchElement[, fromIndex])
arr Arrayオブジェクト
searchElement 検索する配列要素です。
fromIndex 省略可。検索(後方)を始める位置です。

もしこの位置が配列の長さ以上の場合は、-1 が返され、配列は検索されません。

負の数の場合、これは配列の末尾からのオフセットとみなされます。

既定値は 0(配列の最初から、つまり全体を検索)です。

戻り値

見つかった最初の配列要素の添字です。見つからなかった場合は -1 です。

解説

indexOf() は searchElement と配列の要素を 厳密等価(三重イコール演算子 === で使われるのと同じ方法)を使って比較します。

メモ: String メソッドについては、String.prototype.indexOf() を参照してください。

indexOf() の使用

以下の例は indexOf() を使って、配列中のある値の位置を探しています。

var array = [2, 9, 9];
D=array.indexOf(2);     //=0。最初から「2」を探して
D=array.indexOf(7);     //=-1
D=array.indexOf(9, 2);  //=2。「9」をインデックス2から探して
D=array.indexOf(2, -1); //=-1。「2」をインデックスの最後から1番目から探して
D=array.indexOf(2, -3); //=0。「2」をインデックスの最後から3番目、つまりインデックス0から探して
ある要素の存在をすべて見つける
var indices = [];
var array = ['a', 'b', 'a', 'c', 'a', 'd'];
var element = 'a';
var idx = array.indexOf(element);
while (idx != -1) {
  indices.push(idx);
  idx = array.indexOf(element, idx + 1);
}
D=indices; //=[0, 2, 4]

¶以下を省く


テスト