JavaScript - Array findLastIndex() 方法



在 JavaScript 中,Array.findLastIndex() 方法用于反向迭代数组元素,并返回满足提供的函数的最后一个元素的索引。如果提供的函数中没有元素满足条件,则返回 '-1' 作为结果。

此方法不会为空数组元素执行函数。此外,此方法不会修改原始数组;而是将结果返回到一个新数组中。

findLastIndex() 方法是 ES2023 的特性,并且在所有现代浏览器(如 Chrome、Edge、Firefox、Safari 和 Opera)中都受支持。

语法

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

findLastIndex(callbackFn, thisArg)

参数

此方法接受两个参数。下面描述了相同的内容:

  • callbackFn − 一个为数组中的每个元素调用的函数。此函数使用三个参数调用
    • element (可选) − 数组中正在处理的当前元素。
    • index (可选) − 数组中正在处理的当前元素的索引。
    • array (可选) − 调用 findLastIndex() 的数组。
  • thisArg (可选) − 在执行回调时用作 this 的值。

返回值

此方法返回数组中满足提供的测试函数的最后一个元素的索引。如果没有任何元素满足提供的函数,则返回 -1。

示例

示例 1

在以下示例中,我们使用 JavaScript Array.findLastIndex() 方法查找数组中偶数的最后一个索引:

<html>
<body>
   <script>
      const numbers = [1, 2, 3, 4, 5, 6];
      const lastIndex = numbers.findLastIndex((num) => num % 2 === 0);
      document.write(lastIndex);
   </script>
</body>
</html>

输出

由于 '6' 是数组中最后一个偶数,因此其索引号 '5' 将作为结果返回。

5

示例 2

在此示例中,我们查找以特定字母 ('a') 开头的字符串的最后一个索引:

<html>
<body>
   <script>
      const words = ['apple', 'banana', 'avocado', 'orange', 'grape'];
      const lastIndex = words.findLastIndex((word) => word.startsWith('a'));
      document.write(lastIndex);
   </script>
</body>
</html>

输出

上述程序返回索引 '2' 作为结果,因为 'avocado' 是满足条件的最后一个单词。

2

示例 3

这里,我们查找大于 10 的元素的最后一个索引:

<html>
<body>
   <script>
      const numbers = [5, 8, 12, 15, 20];
      const lastIndex = numbers.findLastIndex((num) => num > 10);
      document.write(lastIndex);
   </script>
</body>
</html>

输出

它返回索引 '4' 作为结果,因为数组中最后一个大于 10 的数字是 '20'。

4

示例 4

在下面的示例中,我们查找 '偶数' 的最后一个索引:

<html>
<body>
   <script>
      const numbers = [1, 3, 5, 7, 9];
      const lastIndex = numbers.findLastIndex((num) => num % 2 === 0);
      document.write(lastIndex);
   </script>
</body>
</html>

输出

它返回 '−1' 作为结果,因为数组中没有元素满足函数。

-1
广告

© . All rights reserved.