JavaScript - 数组 findLast() 方法
在 JavaScript 中,Array.findLast() 方法用于逆序迭代数组元素,并返回第一个满足指定条件的元素的值。如果指定函数中没有元素满足条件,则返回"undefined"。
此方法不会对空数组元素执行该函数。此外,此方法不会修改原始数组。
findLast() 方法是自 2022 年 8 月起新增的方法。此方法适用于最新的设备和浏览器。它可能无法在旧设备或浏览器中运行。
语法
以下是 JavaScript Array.findLast() 方法的语法 -
findLast(callbackFn, thisArg)
参数
此方法接受两个参数。具体描述如下 -
-
callbackFn - 一个要对数组中每个元素执行的函数。它需要三个参数 -
- element - 数组中当前正在处理的元素。
- index(可选)- 数组中当前正在处理的元素的索引。
- array(可选)- 调用 every() 的数组。
- thisArg(可选)- 要作为其 this 值传递给函数的值。
返回值
此方法返回通过所提供测试函数的最后一个元素的值;否则为"未定义"。
示例
示例 1
在下面的示例中,我们使用 JavaScript Array.findLastIndex() 方法查找数组中的最后一个偶数 -
<html>
<body>
<script>
const numbers = [1, 2, 3, 4, 5];
const lastValue = numbers.findLast((num) => num % 2 === 0);
document.write(lastValue);
</script>
</body>
</html>
输出
返回结果为 '4',因为它是数组中的最后一个偶数。
4
示例 2
在下面的示例中,我们将查找数组中最后一个以特定字母("a")开头的字符串元素 -
<html>
<body>
<script>
const words = ['apple', 'banana', 'avocado', 'orange', 'grape'];
const lastValue = words.findLast((word) => word.startsWith('a'));
document.write(lastValue);
</script>
</body>
</html>
输出
结果返回"avocado",因为它是最后一个满足条件的单词。
avocado
示例 3
这里,我们查找数组中最后一个值大于 10 的元素 -
<html>
<body>
<script>
const numbers = [5, 8, 12, 15, 20, 4];
const lastValue = numbers.findLast((num) => num > 10);
document.write(lastValue);
</script>
</body>
</html>
输出
20
示例 4
在下面的示例中,我们将查找数组中最后一个为偶数的元素 -
<html>
<body>
<script>
const numbers = [1, 3, 5, 7, 9];
const lastValue = numbers.findLast((num) => num % 2 === 0);
document.write(lastValue);
</script>
</body>
</html>
输出
返回结果"undefined",因为数组中没有元素满足该函数。
undefined

