JavaScript - 数组 lastIndexOf() 方法
JavaScript Array.lastIndexOf() 方法用于返回数组中指定元素最后一次出现的索引(如果该元素至少出现一次)。如果该元素不在数组中,则返回 -1。
默认情况下,此方法从最后一个元素开始搜索,直到第一个元素。但是,如果您传递了起始索引,则搜索将从该特定索引开始,并向数组的开头移动。
此外,如果您传递负值作为起始索引,搜索仍然从数组末尾开始。
语法
以下是 JavaScript 数组 lastIndexOf() 方法的语法 -
array.lastIndexOf(searchElement, fromIndex);
参数
此方法接受两个参数。具体描述如下 -
- searchElement - 指定要在数组中定位的元素。
- fromIndex(可选)- 从数组中反向搜索的索引。默认为 array.length-1。如果为负数,则从数组末尾开始计数(但仍从右向左搜索)。
返回值
此方法返回数组中指定元素最后一次出现的索引,如果未找到该元素,则返回 -1。
示例
示例 1
在下面的示例中,我们使用 JavaScript 数组 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>
输出
result 变量将存储在索引 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

