TypedArray.prototype.some()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2016.

这个 some() 方法检测 TypedArray 的一些元素是否通过所提供函数的测试。这个方法和 Array.prototype.some() 相同。 TypedArraytyped array types 之一。

尝试一下

语法

js
some(callbackFn)
some(callbackFn, thisArg)

参数

callback

一个测试每个元素的函数,有 3 个参数:

currentValue

在 typed array 中,正在被测试的元素。

index

在 typed array 中,正在被测试元素的索引。

array

正在被调用的 typed array 本身。

thisArg

可选的。callback 回调函数的 this 值 .

返回值

true 如果 callback 函数以任一数组元素为参数调用时,返回 truthy; 否则,false.

描述

对于 typed array 中的每个元素,some方法执行一次 callback,直到找到一个callback 返回 true 的元素。如果一个元素被找到,some 立即返回 true. 否则,some 返回 false.

callback 期望 3 个参数:元素的值,元素的索引,和被遍历的数组对象。

如果 some 提供 thisArg, 那么thisArg会作为 callback 调用时的this 值. 否则,callback 调用时的 thisundefined. callback 最终可观测的this 是根据 确定函数 this 的通常规则 所确定的。

some 被调用不会改变 typed array .

示例

测试类型化数组所有元素的大小

以下示例测试 typed array 中的所有元素都大于 10.

js
function isBiggerThan10(element, index, array) {
  return element > 10;
}
new Uint8Array([2, 5, 8, 1, 4]).some(isBiggerThan10); // false
new Uint8Array([12, 5, 8, 1, 4]).some(isBiggerThan10); // true

规范

Specification
ECMAScript Language Specification
# sec-%typedarray%.prototype.some

浏览器兼容性

BCD tables only load in the browser

参见