Spec-Zone.ru › JavaScript

TypedArray.prototype.find()

Базовый уровень Широко доступно

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в различных версиях браузеров. Она доступна во всех браузерах с сентября 2016 года.

Метод find() экземпляров TypedArray возвращает первый элемент в предоставленном типизированном массиве, который удовлетворяет предоставленной тестовой функции. Если ни одно значение не удовлетворяет тестовой функции, возвращается undefined. Этот метод использует тот же алгоритм, что и Array.prototype.find().

Попробуйте

function isNegative(element, index, array) {
  return element < 0;
}

const int8 = new Int8Array([10, 0, -10, 20, -30, 40, -50]);

console.log(int8.find(isNegative));
// Expected output: -10

Синтаксис

find(callbackFn)
find(callbackFn, thisArg)

Параметры

callbackFn
Функция, которая будет выполняться для каждого элемента в типизированном массиве. Она должна возвращать истинное значение, если найден соответствующий элемент, и ложное значение в противном случае. Функция вызывается со следующими аргументами:
element
Текущий обрабатываемый элемент в типизированном массиве.
index
Индекс текущего обрабатываемого элемента в типизированном массиве.
array
Типизированный массив, к которому был применен find().
thisArg Необязательный
Значение, которое будет использоваться как this при выполнении callbackFn. См. итеративные методы.

Возвращаемое значение

Первый элемент в типизированном массиве, который удовлетворяет предоставленной тестовой функции. В противном случае возвращается undefined.

Описание

См. Array.prototype.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() предназначена только для демонстрации. Для реального приложения желательно использовать алгоритм с интенсивным мемоированием, например решето Эратосфена, чтобы избежать повторных вычислений.

Спецификации

Спецификация
Спецификация языка ECMAScript® 2027
# sec-%typedarray%.prototype.find

Совместимость с браузерами

Desktop Mobile Server
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS Bun Deno Node.js
find
45
12
37
32
10
45
37
32
10
5.0
45
10
1.0.0
1.0
4.0.0

Смотри также

  • Полифилл TypedArray.prototype.find в core-js
  • Руководство по типизированным массивам JavaScript
  • TypedArray
  • TypedArray.prototype.findIndex()
  • TypedArray.prototype.findLast()
  • TypedArray.prototype.findLastIndex()
  • TypedArray.prototype.includes()
  • TypedArray.prototype.filter()
  • TypedArray.prototype.every()
  • TypedArray.prototype.some()
  • Array.prototype.find()

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/find

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API