Comment obtenir l'index d'un élément dans un tableau JavaScript

Voici comment récupérer l'index d'un élément dans un tableau JS en fonction de sa valeur

Supposons que vous ayez la valeur d'un élément contenu dans un tableau et que vous souhaitiez obtenir son index.

Comment pouvez-vous l'obtenir?

Si l'élément est une valeur primitive, comme une chaîne ou un nombre, vous pouvez utiliser leindexOfméthode d'un tableau:

const letters = ['a', 'b', 'c']

const index = letters.indexOf(‘b’)

//index is 1

N'oubliez pas que l'index commence par le nombre0

Si l'élément est un objet, vous ne pouvez pas utiliser cette méthode, car si vous essayez de faire:

const letters = [
  {
    letter: 'a',
  },
  {
    letter: 'b',
  },
  {
    letter: 'c',
  },
]

const index = letters.indexOf({ letter: ‘b’, })

indexsera-1ce qui signifie que l'élément n'a pas été trouvé. Parce que les objets sont comparés par référence, pas par leurs valeurs (différemment pour les types primitifs). L'objet passé àindexOfest un objet complètement différent du deuxième élément du tableau.

Vous pouvez utiliser lefindIndexvaleur comme celle-ci, qui exécute une fonction pour chaque élément du tableau, qui reçoit l'élément et son index. Le retour de celui-ci attribuera la valeur de retour à la valeur de retour defindIndex:

const letters = [
  {
    letter: 'a',
  },
  {
    letter: 'b',
  },
  {
    letter: 'c',
  },
]

const index = letters.findIndex((element, index) => { if (element.letter === ‘b’) { return true } })

//index is 1

Téléchargez mon gratuitManuel du débutant JavaScript


Plus de tutoriels js: