TypedArray.prototype.findLastIndex()
Базовый уровень Широко доступен
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и в версиях браузеров. Она доступна во всех браузерах с августа 2022 года.
Метод findLastIndex() экземпляров TypedArray итерирует типизированный массив в обратном порядке и возвращает индекс первого элемента, который удовлетворяет предоставленной функции тестирования. Если ни один элемент не удовлетворяет функции тестирования, возвращается -1. Этот метод имеет тот же алгоритм, что и Array.prototype.findLastIndex().
Попробовать
function isNegative(element /*, index, array */) {
return element < 0;
}
const int8 = new Int8Array([10, -20, 30, -40, 50]);
console.log(int8.findLastIndex(isNegative));
// Expected output: 3
Синтаксис
findLastIndex(callbackFn) findLastIndex(callbackFn, thisArg)
Параметры
-
callbackFn - Функция, выполняемая для каждого элемента в типизированном массиве. Она должна возвращать истинное (truthy) значение, если найден соответствующий элемент, и ложное (falsy) значение в противном случае. Функция вызывается со следующими аргументами:
-
element - Текущий обрабатываемый элемент в типизированном массиве.
-
index - Индекс текущего обрабатываемого элемента в типизированном массиве.
-
array - Типизированный массив, к которому был применен
findLastIndex().
-
-
thisArgНеобязательно - Значение, которое будет использоваться как
thisпри выполненииcallbackFn. См. итеративные методы.
Возвращаемое значение
Индекс последнего (с наибольшим индексом) элемента в типизированном массиве, который проходит тест. В противном случае -1, если соответствующий элемент не найден.
Описание
См. Array.prototype.findLastIndex() для получения более подробной информации. Этот метод не является универсальным и может быть вызван только для экземпляров типизированных массивов.
Примеры
Нахождение индекса последнего простого числа в типизированном массиве
Следующий пример возвращает индекс последнего элемента в типизированном массиве, который является простым числом, или -1, если простого числа нет.
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;
}
let uint8 = new Uint8Array([4, 6, 8, 12]);
console.log(uint8.findLastIndex(isPrime));
// -1 (no primes in array)
uint8 = new Uint8Array([4, 5, 7, 8, 9, 11, 12]);
console.log(uint8.findLastIndex(isPrime));
// 5
Примечание: Реализация isPrime() приведена только для демонстрации. Для реального приложения следует использовать сильно мемоизированный алгоритм, такой как Решето Эратосфена, чтобы избежать повторных вычислений.
Спецификации
Совместимость с браузерами
| Настольные | Мобильные | Серверные | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 | |
findLastIndex |
97 |
97 |
104 |
83 |
15.4 |
97 |
104 |
68 |
15.4 |
18.0 |
97 |
15.4 |
1.0.0 |
1.16 |
No |
См. также
- Полифилл
TypedArray.prototype.findLastIndexвcore-js - Руководство по типизированным массивам JavaScript
TypedArrayTypedArray.prototype.find()TypedArray.prototype.findIndex()TypedArray.prototype.findLast()TypedArray.prototype.indexOf()TypedArray.prototype.lastIndexOf()Array.prototype.findLastIndex()
© 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/findLastIndex