JavaScript - Metodo Array some ()

Descrizione

Matrice Javascript some() metodo verifica se qualche elemento dell'array supera il test implementato dalla funzione fornita.

Sintassi

La sua sintassi è la seguente:

array.some(callback[, thisObject]);

Dettagli dei parametri

  • callback - Funzione da testare per ogni elemento.

  • thisObject - Oggetto da utilizzare come this durante l'esecuzione della richiamata.

Valore di ritorno

Se un elemento supera il test, restituisce true, altrimenti false.

Compatibilità

Questo metodo è un'estensione JavaScript dello standard ECMA-262; come tale potrebbe non essere presente in altre implementazioni dello standard. Per farlo funzionare, è necessario aggiungere il codice seguente all'inizio dello script.

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

Esempio

Prova il seguente esempio.

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

Produzione

Returned value is : false
Returned value is : true