Comment faire pour obtenir l'index d'un élément dans un tableau?
N'Perl ont une fonction pour obtenir l'index d'un élément dans un tableau? Ou j'ai besoin d'écrire une telle fonction par moi-même? [ l'équivalent de PHP array_search() ou un tableau JavaScript.indexOf() ]
- Ce qui est dans le tableau? À la recherche d'un tableau est un drapeau rouge qui me fait évaluer si je pouvais être à l'aide d'une meilleure structure de données. Rappelez-vous: les hachages sont pour la recherche!
- Dupliquer: stackoverflow.com/questions/1915746/...
Vous devez vous connecter pour publier un commentaire.
(List::Util est de base)
ou
(Liste::MoreUtils est sur le CPAN)
first
sortir de la boucle implicite sur la découverte de l'index correspondant. Legrep
équivalent serait$idx = grep { $array[$_] eq 'whatever' and last } 0 .. $#array;
, un peu poilu à mon goût. Et puis c'est miles d'avance à la vitesse de la course, lorsqu'il est exécuté commeList::Util::XS
.last
degrep
proprement. Oups!Voici un post-5.10 façon de le faire, avec l'avantage supplémentaire de la détermination de la façon dont de nombreux indices correspondent à la valeur donnée.
Si tous les éléments sont garantis d'être unique, ou tout simplement le premier indice est d'intérêt:
0
et$#array
.Voici un
autobox
solution:Vous pouvez écrire une fonction pour ça:
L'index du premier élément correspondant sera retournée ou
undef
.