Array. prototype. lastIndexOf()
Zwraca indeks ostatniego wystąpienia wartości w tablicy albo -1, gdy jej nie ma.
- Zwraca
- Indeks ostatniego wystąpienia albo
-1. - Zmienia oryginał
- Nie
Przykład
#const answers = ['A', 'C', 'B', 'C', 'D']
console.log(answers.lastIndexOf('C'))
console.log(answers.indexOf('C'))
console.log(answers.lastIndexOf('E'))Definicja i zastosowanie
#Metoda lastIndexOf() przeszukuje tablicę od końca i zwraca indeks ostatniego elementu równego podanej wartości. Gdy takiej wartości nie ma, wynikiem jest -1. Indeks zawsze liczy się od początku tablicy, choć samo szukanie idzie od tyłu.
Porównuje ściśle, jak operator ===: liczba 3 i napis "3" to dla niej różne wartości, a NaN nigdy nie zostanie znalezione. Obiekty porównywane są przez referencję, więc do szukania obiektu po jego polu użyj findLastIndex().
Drugi argument wskazuje indeks, od którego szukanie rusza w stronę początku. Dzięki temu znajdziesz przedostatnie wystąpienie albo ograniczysz szukanie do początkowej części tablicy.
Składnia
#array.lastIndexOf(searchElement)
array.lastIndexOf(searchElement, fromIndex)Parametry
#searchElement
dowolna wartość
Szukana wartość.fromIndex
opcjonalny
Indeks, od którego zaczyna się szukanie w stronę początku. Domyślnie ostatni element. Wartość ujemna liczy od końca.
Więcej przykładów
#const logins = ['ania', 'kuba', 'ania', 'ola', 'ania']
const last = logins.lastIndexOf('ania')
const previous = logins.lastIndexOf('ania', last - 1)
console.log(last, previous)const tags = ['html', 'css', 'js', 'css']
const isUnique = (tag) => tags.indexOf(tag) === tags.lastIndexOf(tag)
console.log(isUnique('html'))
console.log(isUnique('css'))const values = [1, NaN, 3]
console.log(values.lastIndexOf(NaN))
console.log(values.findLastIndex(Number.isNaN))lastIndexOf() porównuje przez ===, a NaN nie jest równe nawet samemu sobie. Z funkcją Number.isNaN poradzi sobie findLastIndex().
Obsługa przeglądarek
#Szeroko dostępne
Działa we wszystkich nowoczesnych przeglądarkach, także na telefonach. Możesz używać bez obaw.
- Chrome
- Edge
- Firefox
- Safari
Dobre praktyki
#- Porównuj wynik jawnie z
-1. Indeks0też jest poprawnym trafieniem, a w warunkuifzachowuje się jak fałsz. - Porównanie
indexOf(x) === lastIndexOf(x)pokazuje, czy wartość nie ma duplikatów. Pamiętaj, że dla wartości, której w ogóle nie ma, oba wyniki to-1.
Powiązane hasła
#- Array.prototype.indexOf()Zwraca indeks pierwszego wystąpienia wartości albo -1.
- Array.prototype.findLastIndex()Zwraca indeks ostatniego elementu spełniającego warunek, szukając od końca, albo -1.
- Array.prototype.includes()Sprawdza, czy tablica zawiera podaną wartość.
- String.prototype.lastIndexOf()Zwraca indeks ostatniego wystąpienia podanego tekstu w napisie albo -1, gdy go nie ma.
Widzisz błąd albo brakuje przykładu? Napisz do nas.