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

The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.

## 语法

    typedarray.some(callback[, 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 .

### 示例

### Testing size of all typed array elements

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

    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

### Testing typed array elements using arrow functions

Arrow functions 提供更段的语法做相同的测试.

    new Uint8Array([2, 5, 8, 1, 4]).some(elem => elem > 10); // false
    new Uint8Array([12, 5, 8, 1, 4]).some(elem => elem > 10); // true

## Polyfill

由于没有名为 TypedArray 的全局对象, 必须在“as needed”的基础上进行填充.

    // https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.some
    if (!Uint8Array.prototype.some) {
      Object.defineProperty(Uint8Array.prototype, 'some', {
        value: Array.prototype.some
      });
    }

假如你需要支持的过时JavaScript引擎不支持`Object.defineProperty`，最好不要使用`Array.prototype`方法填充，因为你不能让它们不可枚举.

## 标准

Specification | Status | Comment
--- | --- | ---
ECMAScript 2015 (6th Edition, ECMA-262) TypedArray.prototype.some | Standard | Initial definition.
ECMAScript Latest Draft (ECMA-262) TypedArray.prototype.some | Draft |

## 浏览器兼容

The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.

Update compatibility data on GitHub

| Desktop | Mobile | Server
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | Safari on iOS | Samsung Internet | Node.js
`some` | Chrome Full support 45 | Edge Full support 14 | Firefox Full support 37 | IE No support No | Opera Full support 32 | Safari Full support 10 | WebView Android ? | Chrome Android ? | Edge Mobile ? | Firefox Android Full support 37 | Opera Android No support No | Safari iOS Full support 10 | Samsung Internet Android ? | nodejs Full support 4.0.0

### Legend

Full support
  Full support
No support
  No support
Compatibility unknown
  Compatibility unknown

## 参阅

- `TypedArray.prototype.every()`
- `Array.prototype.some()`