Metodo filter degli array in JavaScript: filtrare elementi

Gli array sono uno strumento potente nella programmazione JavaScript per gestire collezioni di dati. Uno dei metodi più utili a disposizione degli sviluppatori è il metodo filter, che consente di selezionare elementi specifici all'interno di un array in base a criteri definiti.

Il metodo filter è una delle principali funzioni di trasformazione degli array in JavaScript. Esso crea un nuovo array contenente solo gli elementi che soddisfano una determinata condizione definita da una funzione di callback. La sintassi del metodo filter è la seguente:

array.filter(funzioneCallback(elemento, indice, array), thisArg);

dove funzioneCallback è una funzione che definisce la condizione per la selezione degli elementi e viene chiamata per ogni elemento nell'array. Poi elemento, cioè l'elemento corrente dell'array, indice (Opzionale) che indica l'indice dell'elemento corrente nell'array, array (Opzionale), l'array su cui viene eseguito il metodo filter. Infine, thisArg (Opzionale), un valore da utilizzare come this all'interno della funzione di callback.

const numeri = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const numeriPari = numeri.filter(numero => numero % 2 === 0);

console.log(numeriPari); // Output: [2, 4, 6, 8, 10]

Nell'esempio sopra, il metodo filter crea un nuovo array, numeriPari, contenente solo i numeri pari dall'array originale.

Esempio di utilizzo del metodo filter degli array

Il metodo filter è particolarmente utile quando si desidera selezionare elementi in base a criteri specifici. Di seguito viene riportato un esempio di come utilizzare il metodo filter.

const studenti = [
	{ nome: 'Marco', voto: 80 },
	{ nome: 'Anna', voto: 95 },
	{ nome: 'Luca', voto: 60 },
	{ nome: 'Elena', voto: 75 }
];

const studentiPromossi = studenti.filter(studente => studente.voto >= 70);

console.log(studentiPromossi);
// Output: [{ nome: 'Marco', voto: 80 }, { nome: 'Anna', voto: 95 }, { nome: 'Elena', voto: 75 }]

Nell'esempio sopra, il metodo filter crea un array contenente solo gli studenti con un voto uguale o superiore a 70.

Esempio di utilizzo del metodo filter con funzioni anonime

Il metodo filter può essere utilizzato con funzioni anonime per una maggiore flessibilità. Di seguito ne viene riportato un esempio di utilizzo:

const numeri = [10, 15, 20, 25, 30];
const risultato = numeri.filter(function(numero) {
	return numero > 20;
});

console.log(risultato); // Output: [25, 30]