🛒👉🏻Amazon スマイルSALE開催中!4月1日(火)まで !👈🏻🛒

JavaScriptのlastIndexOfの使い方!配列の末尾から位置取得

JavaScriptで配列の末尾から検索し、指定した要素が最初に出現する位置(インデックス)を取得するlastIndexOfメソッドについて書いています。
lastIndexOfメソッドを使うと、配列内に同じ要素が複数存在する場合に、最後に現れる要素の位置を効率的に見つけることができます。

実際に動くサンプルを使って、以下の操作を解説します。

・`lastIndexOf`メソッドの基本的な使い方
・`lastIndexOf`メソッドで開始位置を指定する

lastIndexOfメソッドの基本的な使い方

lastIndexOfメソッドは、配列の末尾から検索し、指定した要素が最初に出現するインデックスを返します。
基本的な構文は以下のとおりです。

array.lastIndexOf(searchElement[, fromIndex])
  • searchElement: 検索する要素(必須)。
  • fromIndex: 検索を開始するインデックス(省略可能)。

配列から要素を検索する

配列から指定した数値を検索してみます。

const numbers = [1, 2, 3, 4, 2, 5];
const lastIndexOf2 = numbers.lastIndexOf(2);

console.log(lastIndexOf2); // 結果:4

numbers配列を作って、次の行でlastIndexOfメソッドを呼び出しています。

lastIndexOfメソッドには「2」を渡しています、これでnumbers配列の末尾から「2」を検索します。
「2」はインデックス「1」と「4」に存在しますが、lastIndexOfは最後に現れる要素のインデックスを返すため、「4」が返されます。

要素が見つからない場合

指定した要素が見つからない場合、lastIndexOfメソッドは「-1」を返します。

const numbers = [1, 2, 3, 4, 2, 5];
const lastIndexOf6 = numbers.lastIndexOf(6);

console.log(lastIndexOf6); // 結果:-1

numbers配列にたいして、存在しない要素の「6」を探しています。
numbers配列に「6」は存在しないため、-1が返されます。

lastIndexOfメソッドで開始位置を指定する

lastIndexOfメソッドの第2引数は、検索を開始するインデックスを指定します。
これを指定することで、配列の特定の部分だけを検索できます。

const numbers = [1, 2, 3, 4, 2, 5];
const lastIndexOf2From3 = numbers.lastIndexOf(2, 3);

console.log(lastIndexOf2From3); // 結果:1

numbers配列のインデックス「3」から先頭に向かって「2」を検索しています。

3番目の位置の「4」から先頭の「1」に向かって検索されます。
そうすると、「2」はインデックス「1」に存在するため、「1」が返されます。

lastIndexOfで文字列を検索する

lastIndexOfメソッドを、配列の文字列に使ったサンプルコードです。

const fruits = ['apple', 'banana', 'orange', 'apple'];
const lastIndexOfApple = fruits.lastIndexOf('apple');

console.log(lastIndexOfApple); // 結果:3

fruits配列の末尾から’apple’を検索しています。
‘apple’はインデックス「0」と「3」に存在しますが、lastIndexOfは最後に現れる要素のインデックスを返すため「3」が返されます。

JavaScriptのlastIndexOfメソッドの使い方まとめ

今回はJavaScriptのlastIndexOfメソッドの使い方について解説しました。
記事の内容をまとめます。

・`lastIndexOf(searchElement, fromIndex)`で配列の末尾から`searchElement`を検索し、最初に出現するインデックスを返す。
・`fromIndex`は検索を開始するインデックス(省略可能)。
・要素が見つからない場合は`-1`を返す。

コメント