JavaScript - Méthode Array indexOf ()

La description

Tableau JavaScript indexOf() La méthode retourne le premier index auquel un élément donné peut être trouvé dans le tableau, ou -1 s'il n'est pas présent.

Syntaxe

Sa syntaxe est la suivante -

array.indexOf(searchElement[, fromIndex]);

Détails des paramètres

  • searchElement - Élément à localiser dans le tableau.

  • fromIndex- L'index à partir duquel commencer la recherche. La valeur par défaut est 0, c'est-à-dire que tout le tableau sera recherché. Si l'index est supérieur ou égal à la longueur du tableau, -1 est renvoyé.

Valeur de retour

Renvoie l'index de l'élément trouvé.

Compatibilité

Cette méthode est une extension JavaScript de la norme ECMA-262; en tant que tel, il peut ne pas être présent dans d'autres implémentations de la norme. Pour que cela fonctionne, vous devez ajouter le code suivant en haut de votre script.

if (!Array.prototype.indexOf) {
   Array.prototype.indexOf = function(elt /*, from*/) {
      var len = this.length;
      
      var from = Number(arguments[1]) || 0;
      from = (from < 0)
      ? Math.ceil(from)
      : Math.floor(from);
      
      if (from < 0)
      from += len;
      
      for (; from < len; from++) {
         if (from in this &&
         this[from] === elt)
         return from;
      }
      return -1;
   };
}

Exemple

Essayez l'exemple suivant.

<html>
   <head>
      <title>JavaScript Array indexOf Method</title>
   </head>
   
   <body>   
      <script type = "text/javascript">
         if (!Array.prototype.indexOf) {
            Array.prototype.indexOf = function(elt /*, from*/) {
               var len = this.length;
               
               var from = Number(arguments[1]) || 0;
               from = (from < 0)
               ? Math.ceil(from)
               : Math.floor(from);
               
               if (from < 0)
               from += len;
               
               for (; from < len; from++) {
                  if (from in this &&
                  this[from] === elt)
                  return from;
               }
               return -1;
            };
         }
         var index = [12, 5, 8, 130, 44].indexOf(8);
         document.write("index is : " + index ); 
         
         var index = [12, 5, 8, 130, 44].indexOf(13);
         document.write("<br />index is : " + index ); 
      </script>      
   </body>
</html>

Production

index is : 2
index is : -1