JavaScript - Array indexOf() 方法



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() 方法。它在 numbers 数组中从索引 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
广告