Identifier les index de toutes les instances d'un élément dans un tableau est une tâche de programmation courante. En JavaScript, les tableaux proposent des méthodes telles que .indexOf() et .includes(), mais elles ne renvoient que la première ou la dernière occurrence. Pour obtenir des index pour toutes les instances, une approche différente est nécessaire.
Une méthode efficace consiste à vérifier de manière itérative les occurrences d'éléments à l'aide de .indexOf(). La fonction suivante illustre cette approche :
<code class="js">function getAllIndexes(arr, val) { var indexes = [], i = -1; while ((i = arr.indexOf(val, i + 1)) != -1) { indexes.push(i); } return indexes; }</code>
Dans cette fonction, la méthode .indexOf() est appelée à plusieurs reprises avec un index de départ croissant. Chaque fois qu'il trouve une instance de la valeur donnée, l'index correspondant est ajouté au tableau d'index.
Une autre méthode efficace est une simple boucle for :
<code class="js">function getAllIndexes(arr, val) { var indexes = [], i; for (i = 0; i < arr.length; i++) { if (arr[i] === val) { indexes.push(i); } } return indexes; }</code>
Cette boucle for parcourt le tableau, comparant chaque élément à la valeur spécifiée. Lorsqu'une correspondance est trouvée, la boucle ajoute son index au tableau d'index.
Ces deux approches peuvent être utilisées pour trouver les index de toutes les occurrences de l'élément "Nano" dans le tableau Cars :
<code class="js">var Cars = ["Nano", "Volvo", "BMW", "Nano", "VW", "Nano"]; var indexes = getAllIndexes(Cars, "Nano");</code>
La variable index contiendra désormais un tableau contenant les index de toutes les instances de "Nano" dans le tableau Cars : [0, 3, 5].
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!