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