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-2025 Movatter.jp