JavaScriptTablice
Array. prototype. findIndex()
Zwraca indeks pierwszego elementu spełniającego warunek albo -1.
- Zwraca
- Indeks pierwszego pasującego elementu albo
-1. - Zmienia oryginał
- Nie
Przykład
#JavaScript
const lessons = ['Wstęp', 'Znaczniki', 'Atrybuty', 'Formularze']
console.log(lessons.findIndex((lesson) => lesson.startsWith('A')))
console.log(lessons.findIndex((lesson) => lesson === 'Tabele'))Konsola
2
-1
Definicja i zastosowanie
#Metoda findIndex() działa jak find(), ale zamiast elementu zwraca jego indeks. Gdy żaden element nie pasuje, wynikiem jest -1.
Przydaje się, gdy chcesz zmienić albo usunąć znaleziony element w miejscu, na przykład przez splice(), albo zastąpić go nowym obiektem.
W przeciwieństwie do indexOf() przyjmuje funkcję, więc znajdzie obiekty po dowolnym polu, a nie tylko wartości porównywane przez ===.
Składnia
#Składnia
array.findIndex(callbackFn)
array.findIndex(callbackFn, thisArg)Parametry
#callbackFn
function (element, index, array)
Funkcja testująca.thisArg
opcjonalny
Wartośćthiswewnątrz funkcji.
Więcej przykładów
#JavaScript
const todos = [
{ id: 1, done: false },
{ id: 2, done: false }
]
const index = todos.findIndex((todo) => todo.id === 2)
if (index !== -1) todos[index] = { ...todos[index], done: true }
console.log(todos)Konsola
[{ id: 1, done: false }, { id: 2, done: true }]
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
#- Zawsze sprawdzaj wynik
-1przed użyciem indeksu.todos[-1]zwróciundefined, a przypisanie utworzy dziwną właściwość. - Do prostych wartości wystarczy
indexOf().
Powiązane hasła
#- Array.prototype.find()Zwraca pierwszy element spełniający warunek albo undefined.
- Array.prototype.indexOf()Zwraca indeks pierwszego wystąpienia wartości albo -1.
- Array.prototype.splice()Usuwa, zastępuje lub wstawia elementy w miejscu, zmieniając tablicę.
- Array.prototype.findLast()Zwraca ostatni element spełniający warunek, przeszukując tablicę od końca.
Widzisz błąd albo brakuje przykładu? Napisz do nas.