Prontuario dei metodi degli array JavaScript
I metodi degli array JavaScript a cui ricorri di più, con cosa restituisce ciascuno e — soprattutto — se muta l'array originale o ne restituisce uno nuovo. Azzeccare quella colonna previene un'intera classe di bug: metodi come map e filter sono sicuri perché lasciano intatto l'originale, mentre sort, reverse e splice lo modificano sul posto.
Aggiornato 2026-07-06
| Metodo | Cosa fa | Restituisce | Muta |
|---|---|---|---|
| map() | Trasformare ogni elemento | Nuovo array | No |
| filter() | Tenere gli elementi che passano un test | Nuovo array | No |
| reduce() | Ridurre l'array a un singolo valore | Qualsiasi valore | No |
| forEach() | Eseguire una funzione per ogni elemento | undefined | No |
| find() | Primo elemento che passa un test | Elemento / undefined | No |
| findIndex() | Indice della prima corrispondenza | Indice / -1 | No |
| some() | true se almeno uno passa | Booleano | No |
| every() | true se tutti passano | Booleano | No |
| includes() | Se un valore è presente | Booleano | No |
| indexOf() | Indice di un valore | Indice / -1 | No |
| slice() | Copiare una porzione dell'array | Nuovo array | No |
| concat() | Unire array in uno nuovo | Nuovo array | No |
| join() | Combinare elementi in una stringa | Stringa | No |
| flat() | Appiattire array annidati | Nuovo array | No |
| flatMap() | map() poi appiattire di un livello | Nuovo array | No |
| at() | Elemento per indice (supporta i negativi) | Elemento | No |
| push() | Aggiungere uno o più elementi alla fine | Nuova lunghezza | Sì |
| pop() | Rimuovere l'ultimo elemento | Elemento rimosso | Sì |
| shift() | Rimuovere il primo elemento | Elemento rimosso | Sì |
| unshift() | Aggiungere elementi all'inizio | Nuova lunghezza | Sì |
| splice() | Aggiungere/rimuovere elementi a qualsiasi indice | Elementi rimossi | Sì |
| sort() | Ordinare l'array sul posto | L'array | Sì |
| reverse() | Invertire l'array sul posto | L'array | Sì |
| fill() | Riempire con un valore statico | L'array | Sì |
| Array.from() | Creare un array da un iterabile | Nuovo array | No |
| Array.isArray() | Verificare se un valore è un array | Booleano | No |
Suggerimento: quando ti serve una copia ordinata senza toccare l'originale, espandi prima — [...arr].sort(). Il JavaScript moderno aggiunge anche gemelli non mutanti (toSorted, toReversed, toSpliced, with) che restituiscono un nuovo array.