JavaScript - TypedArray find() 方法



JavaScript TypeArray 的find()方法返回當前型別化陣列中第一個滿足提供的測試函式的元素的值。如果沒有任何值滿足條件或沒有值傳遞給測試函式,則返回undefined

以下是關於 find() 方法的一些其他要點:

  • find() 方法作用於 TypeArray(例如 Uint8Array、Int16Array 等)。

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

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

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

  • 如果沒有任何元素透過測試函式,則返回undefined

語法

以下是 JavaScript TypeArray find()方法的語法:

find(callbackFn, thisArg)

引數

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

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

此函式接受三個名為“element”、“index”和“array”的引數。以下是每個引數的描述:

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

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

  • array - 指的是整個 TypeArray。

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

返回值

此方法返回 TypeArray 中第一個滿足提供的測試函式的元素,否則返回'undefined'

示例

示例 1

在下面的示例中,我們使用 JavaScript TypeArray 的find()方法在原始 TypeArray [1, 2, 3, 4, 5, 6, 7, 8] 中搜索第一個偶數。我們建立一個名為isEven()的測試函式來檢查一個數字是否為偶數,然後將此函式作為引數傳遞給 find() 方法。

<html>
<head>
   <title>JavaScript TypedArray find() Method</title>
</head>
<body>
   <script>
      function isEven(element, index, array){
         return element %2 == 0;
      }
      const T_array = new Int8Array([1, 2, 3, 4, 5, 6, 7, 8]);
      document.write("Orizinal TypedArray: ", T_array);
      document.write("<br>First even number in TypedArray is: ");
      document.write(T_array.find(isEven));
   </script>    
</body>
</html>

輸出

以上程式在 TypedArray [1, 2, 3, ,4 ,5 ,6 ,7, 8] 中返回第一個偶數 '2'。

Orizinal TypedArray: 1,2,3,4,5,6,7,8
First even number in TypedArray is: 2

示例 2

以下是 JavaScript TypeArray find()的另一個示例。我們使用此方法在此型別化陣列 [1, 2, -1, 0, 1, 2, -2, -3] 中搜索第一個負數。我們建立一個名為isNegative()的測試函式來檢查一個數字是否為負數,然後將此函式作為引數傳遞給 find() 方法。

<html>
<head>
   <title>JavaScript TypedArray find() Method</title>
</head>
<body>
   <script>
      function isNegative(element, index, array){
         return element < 0;
      }
      const T_array = new Int8Array([1, 2, -1, 0, 1, 2, -2, -3]);
      document.write("Orizinal TypedArray: ", T_array);
      document.write("<br>First negative number in TypedArray is: ");
      document.write(T_array.find(isNegative));
   </script>    
</body>
</html>

輸出

執行上述程式後,它將在 TypedArray [1, 2, -1, 0, 1, 2, -2, -3] 中返回第一個負數 -1。

Orizinal TypedArray: 1,2,-1,0,1,2,-2,-3
First negative number in TypedArray is: -1

示例 3

如果沒有值滿足測試函式,它將返回'undefined'

在此程式中,我們建立一個名為isPrime()的函式,用於檢查一個數字是否為素數。我們將此函式作為引數傳遞給 find() 函式,以檢索 TypedArray [4, 6, 8, 9] 中的第一個素數。但是,由於沒有任何值滿足 isPrime() 函式,因此find()方法返回undefined

<html>
<head>
   <title>JavaScript TypedArray find() Method</title>
</head>
<body>
   <script>
      function isPrime(element, index, array){
         let begin = 2;
         while(begin <= Math.sqrt(element)){
            if(element % begin++ < 1){
               return false;
            }
         }
         return element > 1;
      }
      const T_array = new Int8Array([4, 6, 8, 9]);
      document.write("Orizinal TypedArray: ", T_array);
      document.write("<br>First negative number in TypedArray is: ");
      document.write(T_array.find(isPrime));
   </script>    
</body>
</html>

輸出

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

Orizinal TypedArray: 4,6,8,9
First negative number in TypedArray is: undefined
廣告