A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/find below:

TypedArray.prototype.find() - JavaScript | MDN

TypedArray.prototype.find()

Baseline Widely available

如果某个元素满足所提供的测试函数,find() 方法返回类型化数组中的值,否则返回 undefined。TypedArray 是这里的类型化数组类型之一。

同时请参见 findIndex() 方法,它返回了类型化数组中所发现元素的下标,而不是它的值。

语法
find(callbackFn)
find(callbackFn, thisArg)
参数
callback

用于在类型化数组中的每个元素上执行的函数,接受三个参数:

element

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

index

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

array

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

thisArg

可选,执行callback时的this值。

返回值

如果元素通过了测试,则为该元素,否则为undefined。

描述

find 方法对类型化数组中的每个元素执行一次 callback 函数,直到它找到一个使 callback 返回 true的元素。如果发现了一个这样的元素,find 方法将会立即返回该元素的值。否则,find 方法会返回undefined。callback 只会对那些已经被赋值的索引调用。不会对那些被删除或从来没被赋值的索引调用。

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

如果将thisArg参数提供给find,它会在调用时传递给callback,作为它的 this值。如果没有提供,会使用undefined。

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

由 find处理的元素范围在callback调用之前就确定了。在 find调用之后添加到数组的元素不会由 callback访问。如果类型化数组的现有元素被改变,或被删除,它们传给callback的值是find 访问它们时候的值。已删除的元素不会被访问。

示例 在类型化数组中寻找质数

下面的示例在类型化数组中寻找质数(如果没有质数则返回 undefined)。

function isPrime(n) {
  if (n < 2) {
    return false;
  }
  if (n % 2 === 0) {
    return n === 2;
  }
  for (let factor = 3; factor * factor <= n; factor += 2) {
    if (n % factor === 0) {
      return false;
    }
  }
  return true;
}

const uint8 = new Uint8Array([4, 5, 8, 12]);
console.log(uint8.find(isPrime)); // 5

备注: isPrime() 实现仅供演示。在实际应用中,为了避免重复计算,会使用大量记忆化的算法,例如埃拉托斯特尼筛法。

规范 浏览器兼容性 参见

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4