Il metodo forEach() di Javascript

Il metodo forEach() del linguaggio Javascript itera gli elementi di un array tramite una funzione

forEach(x)

Il parametro x è il nome di una funzione con tre parametri (value, index, array).

E' utile per compiere qualche tipo di operazione sugli elementi dell'array.

Il metodo forEach() è un metodo predefinito degli array.

Nota. E' uno dei metodi iteratori degli array perché mi permette di scorrere tutti gli elementi dell'array senza usare una struttura ciclica. Tuttavia, il metodo forEach() non restituisce un valore di ritorno ma solo il risultato delle singole operazioni elemento dopo elemento. Se voglio avere un valore di ritorno uso il metodo map().

    Un esempio pratico

    In questo script definisco un array (numeri) con cinque elementi

    var numeri = new Array(1, 2, 3, 4, 5);

    function raddoppia(value, index, array)
    {
    var risultato = value * 2;
    document.write(risultato + " ");
    }

    numeri.forEach(raddoppia);

    Il metodo forEach() chiama la funzione raddoppia(), inviandogli gli elementi dell'array uno alla volta.

    E' utile sottolineare che scrivo il nome della funzione "raddoppia" senza aggiungere le parentesi tonde quando lo uso come parametro del metodo forEach().

    La funzione raddoppia() riceve gli elementi dell'array, li moltiplica per due e stampa ogni singolo risultato.

    Il risultato in output è

    2 4 6 8 10

    Un esempio 2

    Questo script si distingue dal precedente perché modifica i valori dell'array

    var numeri = new Array(1, 2, 3, 4, 5);

    function triplica(value, index, array) {
    array[index]=value*3;
    }

    numeri.forEach(triplica);
    document.write(numeri);

    Il metodo forEach() chiama la funzione triplica passandogli gli elementi dell'array. Uno dopo l'altro.

    In ogni chiamata la funzione moltiplica per tre il valore dell'elemento e lo salva nella stessa posizione indice dell'array.

    Il risultato in output è lo stesso array (numeri) con i valori triplicati

    3,6,9,12,15

    Questo è possibile perché l'array non contiene i valori ma il riferimento agli indirizzi di memoria dove sono salvati i valori.

    Pertanto, ogni modifica all'indirizzo di memoria sovrascrive il precedente valore ed è permanente.

    E così via.

     


     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin
    knowledge base

    Gli array in Javascript

    I metodi degli array