JavaScript: método Array some ()

Descripción

Matriz de JavaScript some() El método prueba si algún elemento de la matriz pasa la prueba implementada por la función proporcionada.

Sintaxis

Su sintaxis es la siguiente:

array.some(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

Si algún elemento pasa la prueba, devuelve verdadero, de lo contrario falso.

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.some) {
   Array.prototype.some = 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 true;
      }
      return false;
   };
}

Ejemplo

Pruebe el siguiente ejemplo.

<html>
   <head>
      <title>JavaScript Array some Method</title>
   </head>
   
   <body>   
      <script type = "text/javascript">
         if (!Array.prototype.some) {
            Array.prototype.some = 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 true;
               }
               return false;
            };
         }
         
         function isBigEnough(element, index, array) {
            return (element >= 10);
         }
         
         var retval = [2, 5, 8, 1, 4].some(isBigEnough);
         document.write("Returned value is : " + retval );
         
         var retval = [12, 5, 8, 1, 4].some(isBigEnough);
         document.write("<br />Returned value is : " + retval );
      </script>      
   </body>
</html>

Salida

Returned value is : false
Returned value is : true