Spec-Zone.ru › JavaScript

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

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

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

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

Настольные Мобильные Серверные
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
  • TypedArray
  • TypedArray.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

Spec-Zone.ru

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