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 向後在陣列 numbers 中搜索元素“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>

輸出

結果變數將儲存“6”在索引 3 之前或在索引 3 處最後一次出現的索引,即 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
廣告