JavaScript - Array every () Método

Descripción

Matriz de JavaScript every El método prueba si todos los elementos de una matriz pasan la prueba implementada por la función proporcionada.

Sintaxis

Su sintaxis es la siguiente:

array.every(callback[, thisObject]);

Detalles de los parámetros

  • callback - Función a probar para cada elemento.

  • thisObject - Objeto para usar como this al ejecutar la devolución de llamada.

Valor devuelto

Devuelve verdadero si cada elemento de esta matriz satisface la función de prueba proporcionada.

Compatibilidad

Este método es una extensión de JavaScript del estándar ECMA-262; como tal, puede que no esté presente en otras implementaciones del estándar. Para que funcione, debe agregar el siguiente código en la parte superior de su secuencia de comandos.

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;
   };
}

Ejemplo

Pruebe el siguiente ejemplo.

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

Salida

First Test Value : falseSecond Test Value : true