Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
Array : méthode indexOf()
Baseline Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
La méthodeindexOf() des instances deArray retourne le premier indice auquel un élément donné peut être trouvé dans le tableau, ou -1 s'il n'est pas présent.
Dans cet article
Exemple interactif
const beasts = ["fourmi", "bison", "chameau", "canard", "bison"];console.log(beasts.indexOf("bison"));// Résultat attendu : 1// À partir de l'indice 2console.log(beasts.indexOf("bison", 2));// Résultat attendu : 4console.log(beasts.indexOf("girafe"));// Résultat attendu : -1Syntaxe
indexOf(searchElement)indexOf(searchElement, fromIndex)Paramètres
searchElementL'élément à rechercher dans le tableau.
fromIndexFacultatifL'indice à partir duquel commencer la recherche,converti en entier.
- Un indice négatif compte à rebours depuis la fin du tableau — si
-array.length <= fromIndex < 0,fromIndex + array.lengthest utilisé. À noter : le tableau est toujours parcouru de l'avant vers l'arrière dans ce cas. - Si
fromIndex < -array.lengthou sifromIndexest omis,0est utilisé, ce qui fait que tout le tableau est parcouru. - Si
fromIndex >= array.length, le tableau n'est pas parcouru et-1est retourné.
- Un indice négatif compte à rebours depuis la fin du tableau — si
Valeur de retour
Le premier indice desearchElement dans le tableau ;-1 si la valeur n'est pas trouvée.
Description
La méthodeindexOf() comparesearchElement aux éléments du tableau en utilisant uneégalité stricte (le même algorithme que celui utilisé par l'opérateur===). Les valeursNaN ne sont jamais considérées comme égales, doncindexOf() retourne toujours-1 lorsquesearchElement vautNaN.
La méthodeindexOf() ignore les emplacements vides dans lestableaux creux.
La méthodeindexOf() estgénérique. Elle attend seulement que la valeur dethis possède une propriétélength et des propriétés à clés entières.
Exemples
>UtiliserindexOf()
L'exemple suivant utiliseindexOf() pour localiser des valeurs dans un tableau.
const tableau = [2, 9, 9];tableau.indexOf(2); // 0tableau.indexOf(7); // -1tableau.indexOf(9, 2); // 2tableau.indexOf(2, -1); // -1tableau.indexOf(2, -3); // 0Vous ne pouvez pas utiliserindexOf() pour rechercherNaN.
const tableau = [NaN];tableau.indexOf(NaN); // -1Trouver toutes les occurences d'un élément
const indices = [];const tableau = ["a", "b", "a", "c", "a", "d"];const element = "a";let idx = tableau.indexOf(element);while (idx !== -1) { indices.push(idx); idx = tableau.indexOf(element, idx + 1);}console.log(indices);// [0, 2, 4]Trouver si un élément existe et l'ajouter dans le tableau si ce n'est pas le cas
function mettreAJourLegumes(legumes, legume) { if (legumes.indexOf(legume) === -1) { legumes.push(legume); console.log("Le nouveau tableau est : " + legumes); } else if (legumes.indexOf(legume) > -1) { console.log(legume + " existe déjà dans le tableau."); }}const legumes = ["pomme de terre", "tomate", "poivron"];mettreAJourLegumes(legumes, "épinard");// Le nouveau tableau est : pomme de terre,tomate,poivron,épinardmettreAJourLegumes(legumes, "épinard");// épinard existe déjà dans le tableau.UtiliserindexOf() sur des tableaux creux
Vous ne pouvez pas utiliserindexOf() pour rechercher des emplacements vides dans des tableaux creux.
console.log([1, , 3].indexOf(undefined)); // -1AppelerindexOf() sur des objets ressemblant à des tableaux
La méthodeindexOf() lit la propriétélength dethis puis accède à chaque propriété dont la clé est un entier non négatif inférieur àlength.
const objetSimilaireTableau = { length: 3, 0: 2, 1: 3, 2: 4, 3: 5, // ignoré par indexOf() car length vaut 3};console.log(Array.prototype.indexOf.call(objetSimilaireTableau, 2));// 0console.log(Array.prototype.indexOf.call(objetSimilaireTableau, 5));// -1Spécifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-array.prototype.indexof> |
Compatibilité des navigateurs
Voir aussi
- Guide des collections indexées
- L'objet global
Array - La méthode
Array.prototype.findIndex() - La méthode
Array.prototype.findLastIndex() - La méthode
Array.prototype.lastIndexOf() - La méthode
TypedArray.prototype.indexOf() - La méthode
String.prototype.indexOf() - Prothèse d'émulation de
Array.prototype.indexOfdanscore-js(angl.) - Prothèse d'émulation es-shims de
Array.prototype.indexOf(angl.)