JavaScript Array indexOf() 方法用于返回数组中指定元素的第一个出现索引(如果它至少存在一次)。如果数组中不存在该元素,则返回 −1。
默认情况下,此方法从第一个元素开始搜索到最后一个元素。但是,如果传递起始索引,则搜索将从该特定索引开始,并移动到数组的末尾。
此外,如果传递负值作为起始索引,则从最后一个元素开始计数值,但搜索仍从左到右开始。
语法
以下是 JavaScript Array.indexOf() 方法的语法 -
array.indexOf(searchElement, fromIndex);
参数
此方法接受两个参数。下面描述相同 -
- searchElement - 这指定要在数组中查找的元素。
- fromIndex(可选)- 这指定了开始搜索的索引。默认情况下,搜索从数组的开头开始。
返回值
如果找到 searchElement,则此方法为在数组中找到元素的第一个索引。否则,−1。
示例 1
在以下示例中,我们使用 JavaScript Array.indexOf() 方法获取指定数组中第一个出现的索引 “2”。
<html>
<body>
<p id="demo"></p>
<script>
const numbers = [2, 5, 6, 2, 7, 9, 6];
const result = numbers.indexOf(2);
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
输出
正如我们在输出中看到的,“2” 的最后一个出现索引是 0。
0
示例 2
在这里,我们尝试获取指定数组中不存在的第一个 “10” 出现的索引 -
<html>
<body>
<p id="demo"></p>
<script>
const numbers = [2, 5, 6, 2, 7, 9, 6];
const result = numbers.indexOf(10);
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
输出
由于数组中没有元素 “10”,因此结果将为 −1。
-1
示例 3
在下面的示例中,我们将第二个参数 “3” 传递给 indexOf() 方法。它在数组编号中从索引 3 开始搜索元素 “6” -
<html>
<body>
<p id="demo"></p>
<script>
const numbers = [2, 5, 6, 2, 7, 9, 6];
const result = numbers.indexOf(6, 3);
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
输出
从索引位置 3 开始第一次出现的元素 6 是 “6”。
6
示例 4
它从数组的末尾开始计数 5 个位置,并开始从左到右搜索元素 '2' -
<html>
<body>
<p id="demo"></p>
<script>
const numbers = [2, 5, 6, 2, 7, 9, 6];
const result = numbers.indexOf(2, -5);
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>
输出
3