JavaScript - TypedArray findLast() 方法



JavaScript TypedArray 的 findLast() 方法允許您以逆序搜尋 TypedArray 的元素,這意味著 TypedArray 的最後一個元素將被視為第一個元素,反之亦然。該方法返回滿足提供的測試函式的第一個元素(從最後一個開始)的值。如果 TypedArray 中沒有元素滿足測試函式,則該方法將返回'undefined'

以下是一些關於 'findLast()' 方法的補充說明:

  • findLast() 方法作用於 TypedArray(例如 Uint8Array、Int16Array 等)。

  • 它接受一個測試函式作為引數。

  • 測試函式將對 TypedArray 中的每個元素執行。

  • 如果某個元素滿足測試函式指定的條件(它返回真值)。

  • 如果沒有元素滿足測試函式,則返回undefined

語法

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

findLast(callbackFn, thisArg)

引數

此方法接受兩個名為 'callbackFn' 和 'thisArg' 的引數,如下所述:

callbackFn - 此引數是一個測試函式,它將對 TypedArray 中的每個元素執行。

此函式接受三個名為 'element'、'index' 和 'array' 的引數。以下是每個引數的說明:

  • element - 表示 TypedArray 中當前正在處理的元素。

  • index - 指示 TypedArray 中當前元素的索引(位置)。

  • array - 指的是整個 TypedArray。

thisArg(可選) - 這是一個可選引數,允許您指定 this 在 callbackFn 中的值。

返回值

此方法返回滿足測試函式的最後一個元素。如果沒有元素滿足測試函式,則返回 'undefined'。

示例

示例 1

如果元素滿足測試函式,它將返回 TypedArray 中最後一個元素的值。

在以下示例中,我們使用 JavaScript TypedArray 的 findLast() 方法來檢索滿足提供的測試函式的最後一個元素。我們建立一個名為 isEven() 的測試函式,用於檢查偶數,並將其作為引數傳遞給此方法。

<html>
<head>
   <title>JavaScript TypedArray findLast() Method</title>
</head>
<body>
   <script>
      function isEven(element, index, array){
         return element %2 == 0;
      }
      const T_array = new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8, 9]);
      document.write("Typed array: ", T_array);
      
      //calling function
      document.write("<br>The last even number in typed array: ", T_array.findLast(isEven));
   </script>
</body>
</html>

輸出

以上程式返回最後一個偶數 8。

Typed array: 1,2,3,4,5,6,7,8,9
The last even number in typed array: 8

示例 2

在 TypedArray 中查詢最後一個閏年.

在下面給出的示例中,我們建立了一個名為 isLeapYear() 的函式,用於檢查此 TypedArray [2001, 2004, 2005, 2006, 2009, 2012, 2015] 中的閏年,並將此函式作為引數傳遞給 findLast() 方法以檢索最後一個閏年,該閏年滿足測試函式。

<html>
<head>
   <title>JavaScript TypedArray findLast() Method</title>
</head>
<body>
   <script>
      function isLeapYear(element, index, arrar){
         return ((element % 4 == 0) && (element % 400 == 0 || element % 100 !=0));
      }
      const T_array = new Int16Array([2001, 2004, 2005,  2006, 2009, 2012, 2015]);
      document.write("Typed array: ", T_array);
      
      //calling function
      document.write("<br>The last leap year in typed array is: ", T_array.findLast(isLeapYear));
   </script>
</body>
</html>

輸出

執行以上程式後,它將返回 TypedArray 中的最後一個閏年,如下所示:

Typed array: 2001,2004,2005,2006,2009,2012,2015
The last leap year in typed array is: 2012

示例 3

如果沒有元素滿足測試函式,則 findLast() 方法將返回'undefined'

以下是 JavaScript TypedArray findLast() 方法的另一個示例。我們建立一個名為 isNegative() 的函式,用於檢查負數,並將其作為引數傳遞給此方法以檢索滿足測試函式的最後一個元素。

<html>
<head>
   <title>JavaScript TypedArray findLast() Method</title>
</head>
<body>
   <script>
      function isNegative(element, index, array){
         return element < 0;
      }
      const T_array = new Uint8Array([1, 10, 5, 6, 7, 8, 9, 10]);
      document.write("Typed array: ", T_array);
      
      // calling function
      document.write("<br>The last negative element: ", T_array.findLast(isNegative));
   </script>
</body>
</html>

輸出

執行以上程式後,它將返回 'undefined'。

Typed array: 1,10,5,6,7,8,9,10
The last negative element: undefined
廣告