Maison > interface Web > js tutoriel > 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
Libérer: 2024-11-01 00:26:02
original
300 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal