JavaScript - Array findLastIndex() 方法



在 JavaScript 中,Array.findLastIndex() 方法用於反向迭代陣列元素,並返回滿足提供的函式的最後一個元素的索引。如果提供的函式中沒有元素滿足條件,則返回 '-1' 作為結果。

此方法不會為空陣列元素執行函式。此外,此方法不會修改原始陣列;而是將結果返回到一個新陣列中。

findLastIndex() 方法是 ES2023 的特性,並且在所有現代瀏覽器(如 Chrome、Edge、Firefox、Safari 和 Opera)中都受支援。

語法

以下是 JavaScript Array.findLastIndex() 方法的語法:

findLastIndex(callbackFn, thisArg)

引數

此方法接受兩個引數。下面描述了相同的內容:

  • callbackFn − 一個為陣列中的每個元素呼叫的函式。此函式使用三個引數呼叫
    • element (可選) − 陣列中正在處理的當前元素。
    • index (可選) − 陣列中正在處理的當前元素的索引。
    • array (可選) − 呼叫 findLastIndex() 的陣列。
  • thisArg (可選) − 在執行回撥時用作 this 的值。

返回值

此方法返回陣列中滿足提供的測試函式的最後一個元素的索引。如果沒有任何元素滿足提供的函式,則返回 -1。

示例

示例 1

在以下示例中,我們使用 JavaScript Array.findLastIndex() 方法查詢陣列中偶數的最後一個索引:

<html>
<body>
   <script>
      const numbers = [1, 2, 3, 4, 5, 6];
      const lastIndex = numbers.findLastIndex((num) => num % 2 === 0);
      document.write(lastIndex);
   </script>
</body>
</html>

輸出

由於 '6' 是陣列中最後一個偶數,因此其索引號 '5' 將作為結果返回。

5

示例 2

在此示例中,我們查詢以特定字母 ('a') 開頭的字串的最後一個索引:

<html>
<body>
   <script>
      const words = ['apple', 'banana', 'avocado', 'orange', 'grape'];
      const lastIndex = words.findLastIndex((word) => word.startsWith('a'));
      document.write(lastIndex);
   </script>
</body>
</html>

輸出

上述程式返回索引 '2' 作為結果,因為 'avocado' 是滿足條件的最後一個單詞。

2

示例 3

這裡,我們查詢大於 10 的元素的最後一個索引:

<html>
<body>
   <script>
      const numbers = [5, 8, 12, 15, 20];
      const lastIndex = numbers.findLastIndex((num) => num > 10);
      document.write(lastIndex);
   </script>
</body>
</html>

輸出

它返回索引 '4' 作為結果,因為陣列中最後一個大於 10 的數字是 '20'。

4

示例 4

在下面的示例中,我們查詢 '偶數' 的最後一個索引:

<html>
<body>
   <script>
      const numbers = [1, 3, 5, 7, 9];
      const lastIndex = numbers.findLastIndex((num) => num % 2 === 0);
      document.write(lastIndex);
   </script>
</body>
</html>

輸出

它返回 '−1' 作為結果,因為陣列中沒有元素滿足函式。

-1
廣告