JavaScript: 配列の要素内容の位置を検索する indexOf

JavaScriptで配列にある要素が含まれている位置を知りたい場合は、 indexOfメソッドまたはlastindexOfメソッドを使用します。

indexOfメソッドは配列の先頭から検索し、 lastindexOfメソッドは配列の最後から検索します。

書式
array.indexOf(検索要素[, 検索開始位置])

array.lastindexOf(検索要素[, 検索開始位置])

どちらのメソッドも戻り値は見つかった要素の位置(先頭要素は0)で、 見つからなかった場合は「-1」を戻します。

内部的な比較演算子は「===」(同値演算子)が使われています。 ですから数値の「100」と文字列の「"100"」では一致しません。

検索を開始する要素の位置を指定することもできます。

indexOfメソッド

次のサンプルコードでは、indexOfメソッドを使って 要素の位置を前方から検索しています。

let arr = ["a", "b", "c", "d", "e"];

console.log(arr.indexOf("c"));    // 2

console.log(arr.indexOf("c", 2)); // 2

console.log(arr.indexOf("c", 3)); // -1

lastindexOfメソッド

次のサンプルコードでは、lastindexOfメソッドを使って、 要素の位置を後方から検索しています。

let arr = ["a", "b", "c", "d", "e"];

console.log(arr.lastIndexOf("d"));    // 3

console.log(arr.lastIndexOf("d", 1)); // -1

console.log(arr.lastIndexOf("d", 4)); // 3

後方から前方に向かって検索するため、 「arr.lastIndexOf("d", 1)」の結果は「-1」となり、 「(arr.lastIndexOf("d", 4)」の結果は「3」となります。

JavaScript入門