JavaScript Array findLastIndex()

定義と用法

findLastIndex() メソッドは配列の各要素に対して関数を実行します。

findLastIndex() メソッドはテストを通過した最後の要素のインデックス(位置)を返します。

一致する要素が見つからない場合、findLastIndex() メソッドは -1 を返します。

findLastIndex() メソッドは空の配列の要素に対して関数を実行しません。

findLastIndex() メソッドは元の配列を変更しません。

メソッド 検索内容
indexOf() 指定された値を持つ最初の要素のインデックス。
lastIndexOf() 指定された値を持つ最後の要素のインデックス。
find() テストを通過した最初の要素の値。
findIndex() テストを通過した最初の要素のインデックス。
findLast() テストを通過した最後の要素の値。
findLastIndex() テストに通った最後の要素のインデックス。

インスタンス

例 1

最後の値が 18 より大きい要素のインデックスを検索します:

const ages = [3, 10, 18, 20];
ages.findLastIndex(checkAge);
function checkAge(age) {
  return age > 18;
}

自分で試してみる

例 2

最後の値が入力値より大きい要素のインデックスを検索します:

<p><input type="number" id="toCheck" value="18"></p>
<button onclick="myFunction()">Test</button>
<p>上記の値以上のもの:<span id="demo"></span></p>
<script>
const numbers = [4, 12, 16, 20];
function checkValue(x) {
  return x > document.getElementById("toCheck").value;
}
function myFunction() {
  document.getElementById("demo").innerHTML = numbers.findLastIndex(checkValue);
}
</script>

自分で試してみる

構文

array.findLastIndex(function(currentValue, index, arr), thisValue)

引数

引数 説明
function() 必須。各配列要素に実行される関数。
currentValue 必須。現在の要素の値。
index オプション。現在の要素のインデックス。
arr オプション。現在の要素が属する配列。
thisValue

オプション。関数に渡される this 値。

デフォルト値は undefined です。

返り値

タイプ 説明
Number

テストに通った最後の要素のインデックス。

見つからない場合、-1 を返します。

ブラウザのサポート

findLastIndex() ES2023 の機能です。

2023 年 7 月から、すべての現代ブラウザがこのメソッドをサポートしています:

Chrome Edge Firefox Safari Opera
Chrome 110 Edge 110 Firefox 115 Safari 16.4 Opera 96
2023 年 2 月 2023 年 2 月 2023 年 7 月 2023 年 3 月 2023 年 5 月