JavaScript Array findLast() 方法
实例
找到值大于 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);
}
<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);
}
尝试一下 »
点我分享笔记