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

© . All rights reserved.