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 月