JavaScript - Méthode Array every ()

La description

Tableau JavaScript every teste si tous les éléments d'un tableau réussissent le test implémenté par la fonction fournie.

Syntaxe

Sa syntaxe est la suivante -

array.every(callback[, thisObject]);

Détails des paramètres

  • callback - Fonction à tester pour chaque élément.

  • thisObject - Objet à utiliser comme this lors de l'exécution du rappel.

Valeur de retour

Renvoie true si chaque élément de ce tableau satisfait la fonction de test fournie.

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.every) {
   Array.prototype.every = function(fun /*, thisp*/) {
      var len = this.length;
      if (typeof fun != "function")
      throw new TypeError();
      
      var thisp = arguments[1];
      for (var i = 0; i < len; i++) {
         if (i in this && !fun.call(thisp, this[i], i, this))
         return false;
      }
      return true;
   };
}

Exemple

Essayez l'exemple suivant.

<html>
   <head>
      <title>JavaScript Array every Method</title>
   </head>
   
   <body>   
      <script type = "text/javascript">
         if (!Array.prototype.every) {
            Array.prototype.every = function(fun /*, thisp*/) {
               var len = this.length;
               if (typeof fun != "function")
               throw new TypeError();
               
               var thisp = arguments[1];
               for (var i = 0; i < len; i++) {
                  if (i in this && !fun.call(thisp, this[i], i, this))
                  return false;
               }
               return true;
            };
         }
         function isBigEnough(element, index, array) {
            return (element >= 10);
         }
         var passed = [12, 5, 8, 130, 44].every(isBigEnough);
         document.write("First Test Value : " + passed ); 
         
         passed = [12, 54, 18, 130, 44].every(isBigEnough);
         document.write("Second Test Value : " + passed ); 
      </script>      
   </body>
</html>

Production

First Test Value : falseSecond Test Value : true