Array. prototype. findIndex()
Renvoie l’indice du premier élément qui remplit la condition, ou -1.
- Renvoie
- L’indice du premier élément correspondant, ou
-1. - Modifie l’original
- Non
Exemple
#const lessons = ['Introduction', 'Balises', 'Attributs', 'Formulaires']
console.log(lessons.findIndex((lesson) => lesson.startsWith('A')))
console.log(lessons.findIndex((lesson) => lesson === 'Tableaux'))Définition et utilisation
#La méthode findIndex() fonctionne comme find(), mais renvoie l’indice de l’élément plutôt que l’élément lui-même. Si aucun élément ne correspond, le résultat est -1.
Elle est utile quand vous voulez modifier ou supprimer l’élément trouvé sur place, par exemple avec splice(), ou le remplacer par un nouvel objet.
Contrairement à indexOf(), elle accepte une fonction, et peut donc trouver des objets selon n’importe quel champ, pas seulement des valeurs comparées avec ===.
Syntaxe
#array.findIndex(callbackFn)
array.findIndex(callbackFn, thisArg)Paramètres
#callbackFn
function (element, index, array)
Fonction de test.thisArg
optionnel
Valeur dethisà l’intérieur de la fonction.
Plus d’exemples
#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)Compatibilité des navigateurs
#Largement disponible
Fonctionne dans tous les navigateurs modernes, y compris sur mobile. Vous pouvez l’utiliser sans crainte.
- Chrome
- Edge
- Firefox
- Safari
Bonnes pratiques
#- Vérifiez toujours si le résultat est
-1avant d’utiliser l’indice.todos[-1]renverraundefined, et une affectation créerait une propriété bizarre. - Pour des valeurs simples,
indexOf()suffit.
Entrées associées
#- Array.prototype.find()Renvoie le premier élément qui remplit la condition, ou undefined.
- Array.prototype.indexOf()Renvoie l’indice de la première occurrence d’une valeur, ou -1.
- Array.prototype.splice()Supprime, remplace ou insère des éléments sur place, en modifiant le tableau.
- Array.prototype.findLast()Renvoie le dernier élément qui remplit la condition, en parcourant le tableau depuis la fin.
Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.