[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf [Back]  [Original]

Array : mthode indexOf() - JavaScript | MDN

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 English Always switch to English

Array : mthode indexOf()

Baseline Large disponibilit

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 mthode indexOf() des instances de Array retourne le premier indice auquel un lment donn peut tre trouv dans le tableau, ou -1 s'il n'est pas prsent.

Dans cet article

Exemple interactif

const beasts = ["fourmi", "bison", "chameau", "canard", "bison"];

console.log(beasts.indexOf("bison"));
// Rsultat attendu : 1

//  partir de l'indice 2
console.log(beasts.indexOf("bison", 2));
// Rsultat attendu : 4

console.log(beasts.indexOf("girafe"));
// Rsultat attendu : -1

Syntaxe

js
indexOf(searchElement)
indexOf(searchElement, fromIndex)

Paramtres

searchElement

L'lment rechercher dans le tableau.

fromIndex Facultatif

L'indice partir duquel commencer la recherche, converti en entier.

  • Un indice ngatif 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'arrire dans ce cas.
  • Si fromIndex < -array.length ou si fromIndex est omis, 0 est utilis, ce qui fait que tout le tableau est parcouru.
  • Si fromIndex >= array.length, le tableau n'est pas parcouru et -1 est retourn.

Valeur de retour

Le premier indice de searchElement dans le tableau ; -1 si la valeur n'est pas trouve.

Description

La mthode indexOf() compare searchElement aux lments du tableau en utilisant une galit stricte (le mme algorithme que celui utilis par l'oprateur ===). Les valeurs NaN ne sont jamais considres comme gales, donc indexOf() retourne toujours -1 lorsque searchElement vaut NaN.

La mthode indexOf() ignore les emplacements vides dans les tableaux creux.

La mthode indexOf() est gnrique. Elle attend seulement que la valeur de this possde une proprit length et des proprits cls entires.

Exemples

Utiliser indexOf()

L'exemple suivant utilise indexOf() pour localiser des valeurs dans un tableau.

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

Vous ne pouvez pas utiliser indexOf() pour rechercher NaN.

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

Trouver toutes les occurences d'un lment

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 lment 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 dj dans le tableau.");
  }
}

const legumes = ["pomme de terre", "tomate", "poivron"];

mettreAJourLegumes(legumes, "pinard");
// Le nouveau tableau est : pomme de terre,tomate,poivron,pinard
mettreAJourLegumes(legumes, "pinard");
// pinard existe dj dans le tableau.

Utiliser indexOf() sur des tableaux creux

Vous ne pouvez pas utiliser indexOf() pour rechercher des emplacements vides dans des tableaux creux.

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

Appeler indexOf() sur des objets ressemblant des tableaux

La mthode indexOf() lit la proprit length de this puis accde chaque proprit dont la cl est un entier non ngatif infrieur 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));
// 0
console.log(Array.prototype.indexOf.call(objetSimilaireTableau, 5));
// -1

Spcifications

Spcification
ECMAScript 2027 LanguageSpecification
# sec-array.prototype.indexof

Compatibilit des navigateurs

Voir aussi


Web Proxy Viewer  |  New URL  |  Original Page