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 开始向后搜索元素 “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>

输出

结果变量将存储索引 3 之前或索引 3 处最后一次出现的 “6” 的索引,即 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