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 月