JavaScript - Array lastIndexOf() 方法



JavaScript 的 Array.lastIndexOf() 方法用于返回指定元素在数组中最后一次出现的索引(如果它至少出现一次)。如果元素不存在于数组中,则返回 −1

默认情况下,此方法从最后一个元素到第一个元素开始搜索。但是,如果您传递一个起始索引,则搜索将从该特定索引开始并向数组的开头移动。

除此之外,如果您传递一个负值作为起始索引,搜索仍将从数组的末尾开始。

语法

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

array.lastIndexOf(searchElement, fromIndex);

参数

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

  • searchElement − 指定要定位的数组中的元素。
  • fromIndex (可选) − 从后开始搜索的索引。默认值为 array.length−1。如果为负数,则从数组末尾开始计数(但仍从右到左搜索)。

返回值

此方法返回指定元素在数组中最后一次出现的索引,如果未找到该元素则返回 −1。

示例

示例 1

在下面的示例中,我们使用 JavaScript Array lastIndexOf() 方法获取指定数组中“2”最后一次出现的索引。

<html>
<body>
   <p id="demo"></p>
   <script>
      const numbers = [2, 5, 6, 2, 7, 9, 6];
      const result = numbers.lastIndexOf(2);
      document.getElementById("demo").innerHTML = result;
   </script>
</body>
</html>

输出

从输出中可以看出,“2”最后一次出现的索引为 3。

3

示例 2

在这里,我们尝试获取“10”的最后一次出现的索引,它不存在于指定的数组中:

<html>
<body>
   <p id="demo"></p>
   <script>
      const numbers = [2, 5, 6, 2, 7, 9, 6];
      const result = numbers.lastIndexOf(10);
      document.getElementById("demo").innerHTML = result;
   </script>
</body>
</html>

输出

由于数组中没有“10”元素,因此结果将为 −1。

-1

示例 3

在下面的示例中,我们将第二个参数“3”传递给 lastIndexOf() 方法。它从索引 3 向后在数组 numbers 中搜索元素“6”:

<html>
<body>
   <p id="demo"></p>
   <script>
      const numbers = [2, 5, 6, 2, 7, 9, 6];
      const result = numbers.lastIndexOf(6, 3);
      document.getElementById("demo").innerHTML = result;
   </script>
</body>
</html>

输出

结果变量将存储“6”在索引 3 之前或在索引 3 处最后一次出现的索引,即 2。

2

示例 4

lastIndexOf() 方法从数组的倒数第二个位置开始搜索元素“2”:

<html>
<body>
   <p id="demo"></p>
   <script>
      const numbers = [2, 5, 6, 2, 7, 9, 6];
      const result = numbers.lastIndexOf(2, -2);
      document.getElementById("demo").innerHTML = result;
   </script>
</body>
</html>

输出

它在索引 3 处找到“2”的最后一次出现。因此,输出为 3。

3
广告