JavaScript - TypedArray findLast() 方法
JavaScript TypedArray 的 findLast() 方法允许您以逆序搜索类型化数组的元素,这意味着类型化数组的最后一个元素将被视为第一个元素,反之亦然。该方法返回满足所提供测试函数的第一个元素(从倒数开始)的值。如果类型数组中没有任何元素满足测试函数,该方法将返回 '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(可选) - 这是一个可选参数,允许您在callbackFn中指定this的值。
返回值
此方法返回满足测试函数的最后一个元素。如果没有元素满足测试函数,则返回"undefined"。
示例
示例 1
如果元素满足测试函数,它将返回类型数组中最后一个元素的值。
在下面的示例中,我们使用 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);
//调用函数
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() 的函数,用于检查此类型数组 [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);
//调用函数
document.write("<br>The last leap year in typed array is: ", T_array.findLast(isLeapYear));
</script>
</body>
</html>
输出
上述程序执行后,将返回类型数组中最后一个闰年,如下所示:
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);
// 调用函数
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

