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
廣告