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
广告

© . All rights reserved.