阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      JS every()

      **every()** 方法测试类型化数组的所有元素是否都能够通过由提供函数实现的测试。这个方法的算法与 Array.prototype.every()相同。 TypedArray 是这里的 类型化数组类型 之一。

      语法

      typedarray.every(callback[, thisArg])
      

      参数

      callback

      用于测试每个元素的函数,接受三个参数:

      currentValue

      要处理的类型化数组的当前元素。

      index

      要处理的当前元素在类型化数组中的下标

      array

      every 在其上调用的类型化数组

      thisArg

      可选,执行 callback 时的 this 值。

      返回值

      如果函数对数组每个元素返回 truthy ,则为**true**,否则为 **false**

      描述

      every 方法为类型化数组中的每个元素执行一次 callback 函数,直到它找到一个使 callback 返回 false(表示可转换为布尔值 false 的值)的元素。如果发现了一个这样的元素,every 方法将会立即返回 false。否则,callback 为每一个元素返回 trueevery 就会返回 truecallback 只会为那些已经被赋值的索引调用。不会为那些被删除或从来没被赋值的索引调用。

      callback 以三个参数调用:元素的值,元素索引,以及要遍历的数组对象。

      如果将thisArg参数提供给every,它会在调用时传递给callback,作为它的 this值。否则,会传递undefined 作为它的this 值。  callback最终观测到的this值由 [用于决定函数可见的this值的一般规则]来决定。

      every 不修改在其上调用的类型化数组。

      示例

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

      下面的示例测试了类型化数组所有元素是否大于 10。

      function isBigEnough(element, index, array) {
        return element >= 10;
      }
      new Uint8Array([12, 5, 8, 130, 44]).every(isBigEnough);   // false
      new Uint8Array([12, 54, 18, 130, 44]).every(isBigEnough); // true
      

      使用箭头函数测试类型化数组的元素

      [箭头函数]为相同测试提供了更短的语法。

      new Uint8Array([12, 5, 8, 130, 44]).every(elem => elem >= 10); // false
      new Uint8Array([12, 54, 18, 130, 44]).every(elem => elem >= 10); // true
      

      规范

      SpecificationStatusComment
      [ECMAScript 2015 (6th Edition, ECMA-262)
      TypedArray.prototype.every](https://www.ecma-international.org/ecma-262/6.0/#sec-%typedarray%.prototype.every)Standard初始定义。
      [ECMAScript Latest Draft (ECMA-262)
      TypedArray.prototype.every](https://tc39.github.io/ecma262/#sec-%typedarray%.prototype.every)Draft 

      浏览器兼容性

      We’re converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven’t yet converted the data it contains.

      • Desktop
      • Mobile
      FeatureChromeFirefox (Gecko)Internet ExplorerOperaSafari
      Basic support45.037 (37)未实现36.0未实现
      FeatureAndroidChrome for AndroidFirefox Mobile (Gecko)IE MobileOpera MobileSafari Mobile
      Basic support未实现未实现37 (37)未实现未实现未实现

      另见

      目录
      目录