JavaScript - Array findLast() 方法



在 JavaScript 中,Array.findLast() 方法用於反向迭代陣列元素,並返回滿足提供的函式的第一個元素的值。如果提供的函式中沒有元素滿足條件,則返回“undefined”。

此方法不會對空陣列元素執行函式。此外,此方法不會修改原始陣列。

findLast() 方法是自 2022 年 8 月以來新提供的。此方法可在最新的裝置和瀏覽器中執行。它可能無法在較舊的裝置或瀏覽器中執行。

語法

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

findLast(callbackFn, thisArg)

引數

此方法接受兩個引數。如下所述:

  • callbackFn − 一個對陣列中每個元素執行的函式。它接受三個引數:
    • element − 正在處理的陣列中的當前元素。
    • index (可選) − 正在處理的陣列中當前元素的索引。
    • array (可選) − 呼叫 every() 的陣列。
  • thisArg (可選) − 傳遞給函式作為其 this 值的值。

返回值

此方法返回透過提供的測試函式的最後一個元素的值;否則為“undefined”。

示例

示例 1

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

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

輸出

它返回結果“4”,因為它是陣列中最後一個偶數。

4

示例 2

在下面的示例中,我們查詢陣列中最後一個以特定字母('a')開頭的字串元素:

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

輸出

它返回結果“avocado”,因為它是滿足條件的最後一個單詞。

avocado

示例 3

在這裡,我們查詢陣列中最後一個值大於 10 的元素:

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

輸出

20

示例 4

在下面的示例中,我們查詢陣列中最後一個偶數元素:

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

輸出

它返回結果“undefined”,因為陣列中沒有元素滿足函式條件。

undefined
廣告