Nel mondo di JavaScript, gli Arrays sono un tipo di dato fondamentale che usi frequentemente. Con ogni nuova versione di ECMAScript, la gestione degli Array è migliorata grazie a vari metodi innovativi. In questo tutorial imparerai a sfruttare alcune delle nuove e più utili funzioni degli Array, introdotte da ES6 a ES13. Considereremo sia le funzioni nuove che quelle consolidate, che ti aiuteranno a lavorare in modo più efficace con gli Array.
Principali scoperte
- find(): Cerca un Array e trova il primo elemento che soddisfa un determinato criterio.
- filter(): Crea un nuovo Array con tutti gli elementi che soddisfano la condizione data.
- map(): Trasforma gli elementi di un Array e produce un nuovo Array.
- reduce(): Combina tutti gli elementi di un Array in un unico valore.
- some(), every(): Controlla se almeno un elemento o tutti gli elementi di un Array soddisfano una determinata condizione.
Guida passo passo
1. Comprendere il metodo find()
Il metodo find() è una delle funzioni introdotte in ES6. Lo utilizzi per trovare un determinato elemento in un Array. Il nome dice già tutto: con find() cerchi un Array e ti restituisce il primo elemento che soddisfa i tuoi criteri.
Per utilizzare find(), passi una funzione di callback che definisce una condizione. Questa funzione viene chiamata per ogni elemento nell'Array.

In questo esempio viene trovata e restituita "Arancia". Se cerchi un altro colore, il risultato potrebbe variare di conseguenza.
2. findIndex() per l'indice dell'elemento cercato
Oltre a find(), c'è anche findIndex(), che ti restituisce l'indice del primo elemento che soddisfa la condizione. Questo è utile quando hai bisogno dell'indice reale nell'Array.

In questo caso, foundFruitIndex restituisce l'indice di "Arancia", che è 2, poiché gli Array sono basati su zero.
3. Filtrare gli Array con filter()
Il metodo filter() ti consente di creare un nuovo Array che contiene solo gli elementi che soddisfano una certa condizione. Qui utilizziamo filter() per restituire tutti i frutti la cui lunghezza è maggiore di 5.

Il risultato mostra quindi tutti i frutti che hanno più di cinque lettere, ad esempio "Banana".
4. map() per le trasformazioni
Con il metodo map() puoi modificare i valori in un Array e generare un nuovo Array. Ad esempio, per ottenere le lunghezze dei nomi dei frutti.
Qui ottieni le lunghezze dei nomi dei frutti come Array: [5, 6, 6, 6].
5. reduce() per riassumere i valori
Il metodo reduce() è una delle funzioni più potenti, che ti aiuta a condensare tutti i valori in un Array in un unico valore.

Il risultato è 15, poiché tutti i valori sono stati sommati.
6. Controllare le condizioni con some() e every()
I metodi some() ed every() controllano gli elementi di un Array per le condizioni. Con some() chiedi se almeno uno degli elementi soddisfa la condizione, mentre every() assicura che tutti gli elementi la soddisfino.
Qui hasLargeFruits indica se c'è almeno un frutto con più di sei lettere.
7. Array.from() per creare Array
Questo metodo ti consente di creare un Array da un'altra struttura.
In questo caso, una collezione HTML viene trasformata in un vero Array, così puoi applicare i metodi Array su di essa.
8. Verificare se qualcosa è un Array con Array.isArray()
Per verificare se un oggetto è un Array, utilizzi il metodo Array.isArray().
Il risultato è true, poiché fruits è un Array.
Riepilogo – Funzioni utili degli Array in JavaScript
In questa guida completa, hai imparato come utilizzare efficacemente varie funzioni degli Array in JavaScript, dalle ben note find(), filter(), map() e reduce() fino ai metodi meno comuni, ma comunque utili, come some(), every(), Array.from() e Array.isArray(). Queste funzioni renderanno il tuo codice più moderno e la tua elaborazione dei dati più efficiente. Sperimenta con questi metodi nei tuoi progetti per ottimizzare il tuo modo di lavorare con gli Array.
Domande frequenti
Che cosa fa il metodo find()?Il metodo find() cerca un Array e restituisce il primo elemento che soddisfa la condizione specificata.
Come posso trovare l'indice di un elemento?Con il metodo findIndex() puoi trovare l'indice del primo elemento che soddisfa la condizione.
Qual è la differenza tra some() ed every()?some() verifica se almeno un elemento soddisfa la condizione, mentre every() assicura che tutti gli elementi la soddisfino.
Quando uso map()?map() viene utilizzato per trasformare ogni elemento in un Array e generare un nuovo Array.
Come posso verificare se qualcosa è un Array?Con il metodo Array.isArray() puoi verificare se un oggetto è un Array.