JavaScript Array findLast() 方法

Array 对象参考手册 JavaScript Array 对象

实例

找到值大于 18 的最后一个元素的值:

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

输出结果:

2

尝试一下 »

定义和用法

findLast() 方法返回通过条件判断的最后一个元素的值。

findLast() 方法会对数组中的每个元素执行一个函数。

如果未找到符合条件的元素,则 findLast() 方法返回 undefined。

对于空数组元素,findLast() 方法不会执行函数。

findLast() 方法不会改变原始数组。

数组查找方法:

方法描述
indexOf()找到具有指定值的第一个元素的索引
lastIndexOf()找到具有指定值的最后一个元素的索引
find()找到通过测试的第一个元素的值
findIndex()找到通过测试的第一个元素的索引
findLast()找到通过测试的最后一个元素的值
findLastIndex()找到通过测试的最后一个元素的索引

浏览器支持

findLast() 是 ES2023 的一项功能。

自 2023 年 7 月起,所有现代浏览器均支持该功能:

Chrome 110 Edge 110 Firefox 115 Safari 16.4 Opera 96
Feb 2023 Feb 2023 Jul 2023 Mar 2023 May 2023

语法

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

参数

参数 描述
function 必需。为每个数组元素运行的函数。
currentValue 必需。当前元素的值。
index 可选。当前元素的索引。
arr 可选。当前元素所在的数组。
thisValue 可选,默认为 undefined。作为函数的 this 值传递。

返回值

类型 描述
通过测条件判断的最后一个元素的值;如果未找到,则返回 undefined。

找到值大于指定数字的最后一个元素的值:

实例

<p><input type="number" id="ageToCheck" value="18"></p>
<button onclick="myFunction()">尝试</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);
}

尝试一下 »


Array 对象参考手册 JavaScript Array 对象