TypedArray.prototype.some()
>这个 some() 方法检测 TypedArray 的一些元素是否通过所提供函数的测试。这个方法和 Array.prototype.some() 相同。 TypedArray 是 typed array types 之一。
尝试一下
function isNegative(element, index, array) {
return element < 0;
}
const int8 = new Int8Array([-10, 20, -30, 40, -50]);
const positives = new Int8Array([10, 20, 30, 40, 50]);
console.log(int8.some(isNegative));
// Expected output: true
console.log(positives.some(isNegative));
// Expected output: false
语法
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 调用时的 this 是 undefined. 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
规范
| 规范 |
|---|
| ECMAScript® 2027 Language Specification> # sec-%typedarray%.prototype.some> |