620 votes

méthode indexOf dans un tableau d’objets ?

Quelle est la meilleure méthode pour obtenir l’index d’un tableau qui contient les objets ?

Imaginez ce scénario :

Maintenant, je voudrais avoir le l’objet qui propriété est qui, dans cet exemple, serait .

Je suis assez débutant avec JavaScript et je ne sais pas si il existe une méthode simple ou si je devrais construire ma propre fonction pour cela.

1221voto

Je pense que vous pouvez le résoudre en une seule ligne à l’aide de la fonction « carte » :

448voto

Joe Points 34413

Il n’y a pas vraiment d’une manière concise, mais voici une solution commune :

ou en fonction :

Juste quelques notes :

  1. N’utilisez pas dédiée.. en boucles sur les tableaux
  2. N’oubliez pas de sortir de la boucle ou de retour de la fonction une fois que vous avez trouvé votre « aiguille »
  3. Soyez prudent avec l’égalité objet

Par exemple,

24voto

Esailija Points 74052
var idx = myArray.reduce( function( cur, val, index ){

    if( val.hello === "stevie" && cur === -1 ) {
        return index;
    }
    return cur;

}, -1 );

17voto

tandrewnichols Points 962

J’aime la réponse de Pablo, mais le tableau #indexOf et tableau #map ne fonctionnent pas sur tous les navigateurs. Trait de soulignement utilisera le code natif s’il est disponible, mais il a aussi bien de secours. De plus, il a la méthode de courage pour faire exactement ce que fait méthode carte anonyme de Pablo.

14voto

Nathan Zaetta Points 81

Ou prototype il :

myArr.indexOf ("nom", "stevie") ;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X