Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. Référence
  4. Objets natifs standards
  5. Array
  6. indexOf()

Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in EnglishAlways switch to English

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.

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 : -1

Syntaxe

js
indexOf(searchElement)indexOf(searchElement, fromIndex)

Paramètres

searchElement

L'élément à rechercher dans le tableau.

fromIndexFacultatif

L'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.length est utilisé. À noter : le tableau est toujours parcouru de l'avant vers l'arrière dans ce cas.
  • SifromIndex < -array.length ou sifromIndex est omis,0 est utilisé, ce qui fait que tout le tableau est parcouru.
  • SifromIndex >= array.length, le tableau n'est pas parcouru et-1 est retourné.

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.

js
const tableau = [2, 9, 9];tableau.indexOf(2); // 0tableau.indexOf(7); // -1tableau.indexOf(9, 2); // 2tableau.indexOf(2, -1); // -1tableau.indexOf(2, -3); // 0

Vous ne pouvez pas utiliserindexOf() pour rechercherNaN.

js
const tableau = [NaN];tableau.indexOf(NaN); // -1

Trouver toutes les occurences d'un élément

js
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

js
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.

js
console.log([1, , 3].indexOf(undefined)); // -1

AppelerindexOf() 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.

js
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));// -1

Spécifications

Specification
ECMAScript® 2026 Language Specification
# sec-array.prototype.indexof

Compatibilité des navigateurs

Voir aussi

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par lescontributeurs du MDN.


[8]ページ先頭

©2009-2026 Movatter.jp