JavaScript Array findLast()

定義と使用方法

findLast() テストを通過した最後の要素の値を返します。

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

要素が見つからない場合、findLast() メソッドはundefinedを返します。

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

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

配列検索メソッド:

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

例 1

18より大きい最後の値を持つ要素を検索します:

const ages = [3, 10, 18, 20];
function checkAge(age) {
  return age > 18;
}
function myFunction() {
  document.getElementById("demo").innerHTML = ages.findLast(checkAge);
}

自分で試してみる

例 2

指定数字より大きい最後の値を持つ要素を検索します:

<p><input type="number" id="ageToCheck" value="18"></p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script>
const ages = [4, 12, 16, 20];
function checkAge(age) {
  return age > document.getElementById("ageToCheck").value;
}
function myFunction() {
  document.getElementById("demo").innerHTML = ages.findLast(checkAge);
}
</script>

自分で試してみる

構文

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

引数

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

オプションです。デフォルト値は undefined です。

関数に渡される this の値。

返り値

タイプ 説明

テストに通った最後の要素の値。

見つからなかった場合、undefined を返します。

ブラウザのサポート

findLast() 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 月