Maison  >  Article  >  interface Web  >  Comment trouver tous les index d'un élément dans un tableau JavaScript ?

Comment trouver tous les index d'un élément dans un tableau JavaScript ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-01 00:26:02284parcourir

How to Find All Indexes of an Element in a JavaScript Array?

Comment obtenir les index des occurrences d'éléments dans un tableau

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.

Utilisation d'une boucle et de .indexOf()

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.

Utiliser une boucle For standard

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.

Exemple d'utilisation

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn