108 of 264 menu

Metodo reduce

Il metodo reduce riduce un array a un singolo valore (riduce). Ad esempio, con questo metodo si può facilmente trovare la somma degli elementi dell'array (cioè l'array viene ridotto a un singolo valore - la somma degli elementi).

Il primo parametro del metodo reduce riceve una funzione, che verrà eseguita sequenzialmente per ogni elemento dell'array, a partire dal primo. In questa funzione si possono passare 4 parametri. Se questi parametri sono presenti (non sono obbligatori), allora nel primo andrà automaticamente il risultato intermedio, nel secondo andrà l'elemento dell'array, nel terzo - il suo numero nell'array (indice), e nel quarto - l'array stesso.

Il risultato intermedio è una variabile, in cui si accumulerà il valore che il metodo reduce restituirà quando avrà iterato su tutti gli elementi dell'array. Ad esempio, lì si può accumulare sequenzialmente la somma degli elementi dell'array: prima mettere il primo elemento, al passaggio successivo del ciclo già la somma del primo elemento e del secondo, al passaggio successivo - la somma del primo, del secondo e del terzo. E così via, finché l'array non finisce. La funzione, che accetta reduce, deve restituire il nuovo valore del risultato intermedio.

Il secondo parametro del metodo reduce specifica il valore iniziale del risultato intermedio. Se non specificato, sarà uguale al primo elemento dell'array, e l'elaborazione degli elementi inizierà dal secondo elemento.

Sintassi

array.reduce(function(risultatoIntermedio, elemento, indice, array) { return nuovoRisultatoIntermedio; }, valoreIniziale);

Esempio

Troviamo la somma degli elementi dell'array:

let arr = [1, 2, 3, 4, 5, 6]; let res = arr.reduce(function(somma, elem) { return somma + elem; }, 0); console.log(res);

Risultato dell'esecuzione del codice:

21

Esempio

Troviamo la somma di tutti i numeri positivi dell'array:

let arr = [1, -2, -3, 4, 5, -6]; let res = arr.reduce(function(somma, elem) { if (elem >= 0) { return somma + elem; } else { return somma; } }, 0); console.log(res);

Risultato dell'esecuzione del codice:

10

Vedi anche

  • metodo reduceRight,
    che esegue un'operazione simile
  • metodo filter,
    che permette di filtrare gli elementi dell'array
  • metodi map e forEach,
    che permettono di applicare una funzione a ogni elemento dell'array
  • metodi some e every,
    che eseguono controlli sull'array
Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta