JavaScript - TypedArray findLastIndex() 方法



JavaScript TypedArray 的 findLastIndex() 方法會反向迭代 TypedArray,這意味著 TypedArray 的最後一個元素將被視為第一個元素,反之亦然。該方法返回滿足提供的測試函式的第一個元素(從後往前)的索引。如果 TypedArray 中沒有元素滿足測試函式,則該方法將返回'-1'

以下是一些關於 'findLastIndex()' 方法的額外要點:

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

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

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

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

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

語法

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

findLastIndex(callbackFn, thisArg)

引數

此方法接受兩個名為 'callbackFn' 和 'thisArg' 的引數,具體說明如下:

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

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

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

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

  • array - 指的是整個 TypedArray。

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

返回值

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

示例

示例 1

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

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

<html>
<head>
   <title>JavaScript TypedArray findLastIndex() Method</title>
</head>
<body>
   <script>
      function isEven(element, index, array){
         return element %2 == 0;
      }
      const T_array = new Uint8Array([10, 20, 30, 40, 50, 60, 70, 80, 81]);
      document.write("Typed array: ", T_array);
      
      //calling function
      document.write("<br>The index of the last even number is: ", T_array.findLastIndex(isEven));
   </script>
</body>
</html>

輸出

上面的程式返回最後一個偶數的索引為 7。

Typed array: 10,20,30,40,50,60,70,80,81
The index of the last even number is: 7

示例 2

查詢 TypedArray 中最後一個閏年的索引。

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

<html>
<head>
   <title>JavaScript TypedArray findLastIndex() 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([2002, 2004, 2005, 2006, 2007, 2012]);
      document.write("Typed array: ", T_array);
      
      //calling function
      document.write("<br>The index of the last leap year in typed array is: ", T_array.findLastIndex(isLeapYear));
   </script>
</body>
</html>

輸出

執行上述程式後,它將返回 TypedArray 中最後一個閏年的索引為:

Typed array: 2002,2004,2005,2006,2007,2012
The index of the last leap year in typed array is: 5

示例 3

如果沒有元素滿足測試函式,findLastIndex() 方法將返回'-1'

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

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

輸出

執行上述程式後,它將返回'-1'。

Typed array: 1,2,3,4,5,6,7,8
The index of last negative element: -1
廣告