JavaScript - Array findLast() 方法



在 JavaScript 中,Array.findLast() 方法用于反向迭代数组元素,并返回满足提供的函数的第一个元素的值。如果提供的函数中没有元素满足条件,则返回“undefined”。

此方法不会对空数组元素执行函数。此外,此方法不会修改原始数组。

findLast() 方法是自 2022 年 8 月以来新提供的。此方法可在最新的设备和浏览器中运行。它可能无法在较旧的设备或浏览器中运行。

语法

以下是 JavaScript Array.findLast() 方法的语法:

findLast(callbackFn, thisArg)

参数

此方法接受两个参数。如下所述:

  • callbackFn − 一个对数组中每个元素执行的函数。它接受三个参数:
    • element − 正在处理的数组中的当前元素。
    • index (可选) − 正在处理的数组中当前元素的索引。
    • array (可选) − 调用 every() 的数组。
  • thisArg (可选) − 传递给函数作为其 this 值的值。

返回值

此方法返回通过提供的测试函数的最后一个元素的值;否则为“undefined”。

示例

示例 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
广告