【JavaScript ECMAScript】Array::Array.prototype.findLastIndexインスタンスメソッドの使い方
Array.prototype.findLastIndex()インスタンスメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
Array.prototype.findLastIndex()メソッドは、配列の要素を逆順に検索し、指定されたテスト関数を満たす最初の要素のインデックスを返すメソッドです。
このメソッドは、配列の最後のインデックスから最初のインデックスに向かって、各要素に対して引数として渡されたコールバック関数を一度だけ実行します。コールバック関数は、現在の要素が特定の条件に合致するかどうかをtrueまたはfalseで判断し、その結果を返します。もしコールバック関数がtrueを返した場合、その条件を満たした要素のインデックスが直ちにこのメソッドの戻り値となり、そこで検索は終了します。配列のすべての要素を逆順に検索しても条件を満たす要素が見つからなかった場合は、-1を返します。
コールバック関数は、現在の要素の値、その要素のインデックス、そして検索対象の配列自身を引数として受け取ります。また、コールバック関数内でthisの値として使用したいオブジェクトを、findLastIndex()メソッドの第二引数として任意で指定することも可能です。
このfindLastIndex()メソッドは、元の配列の内容を一切変更することなく、特定の条件に合致する要素の中から、配列の末尾に最も近い要素のインデックスを効率的に見つける際に非常に役立ちます。
公式リファレンス: Array.prototype.findLastIndex()
構文(syntax)
1const array = [/* 要素1, 要素2, ... */]; 2 3const foundIndex = array.findLastIndex((element, index, arr) => { 4 // 検索条件をここに記述 5 // 条件を満たす要素が見つかった場合、trueを返す 6 return element > 10; 7});
引数(parameters)
predicate, thisArg = undefined
- predicate: predicate: (value: any, index: number, array: any[]) => boolean: 配列の各要素に対して実行される関数。要素が検索条件を満たす場合に
trueを返します。 - thisArg: any = undefined:
predicate関数が呼び出される際のthisの値。
戻り値(return)
number
配列内で、与えられたテスト関数によって実装されたテストに合格した最後の要素のインデックスを返します。条件に一致する要素が見つからない場合は -1 を返します。