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」となります。