JavaScriptTableaux

Array.prototype.find()

Renvoie le premier élément qui remplit la condition, ou undefined.

Renvoie
Le premier élément correspondant, ou undefined.
Modifie l’original
Non
Sur cette page

Exemple

#
JavaScript
const users = [
  { id: 1, name: 'Léa' },
  { id: 2, name: 'Lucas' },
  { id: 3, name: 'Emma' }
]

console.log(users.find((user) => user.id === 2))
console.log(users.find((user) => user.id === 9))
Console
{ id: 2, name: 'Lucas' }
undefined

Définition et utilisation

#

La méthode find() parcourt le tableau depuis le début et renvoie le premier élément pour lequel la fonction de test renvoie une valeur vraie. Si aucun ne correspond, elle renvoie undefined.

La recherche s’arrête à la première correspondance, ce qui la rend plus rapide que filter() sur de grands tableaux, puisque celui-ci vérifie toujours tous les éléments.

Si vous avez besoin de la position plutôt que de l’élément lui-même, utilisez findIndex(). Pour chercher depuis la fin, il y a findLast() et findLastIndex().

Syntaxe

#
Syntaxe
array.find(callbackFn)
array.find(callbackFn, thisArg)

Paramètres

#
  • callbackFn

    function (element, index, array)

    Fonction de test. La recherche s’arrête dès qu’elle renvoie une valeur vraie.
  • thisArg

    optionnel

    Valeur de this à l’intérieur de la fonction.

Plus d’exemples

#
Utilisation sûre du résultat
JavaScript
const courses = [{ slug: 'html', title: 'HTML et CSS' }]
const course = courses.find((c) => c.slug === 'python')

console.log(course?.title ?? 'Cours introuvable')
Console
Cours introuvable

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

#
  • Le résultat de find() peut être undefined. Protégez-vous avec l’opérateur ?. avant de lire une propriété.
  • Pour vérifier seulement l’existence d’un élément, some() est préférable : elle renvoie true ou false.

Entrées associées

#

Vous voyez une erreur ou il manque un exemple ? Écrivez-nous.