Tempo di lettura: < 1 minuto
A differenza del metodo map, visto nella lezione precedente, il metodo filter si utilizza quando si ha necessità di modificare solo determinati elementi di un array.
Come abbiamo visto con il metodo map viene creato un nuovo array, l’operatore filter,invece, fa si che venga creato un array solo con gli elementi che soddisfano determinate condizioni escludendo gli altri valori.
Spesso tale metodo viene utilizzato per ripulire un array da quegli elementi che non si vogliono visualizzare:
let Array = ['file1.jpg', 'file2.png', 'file3.png'];
let ArrayNew = Array.filter((entry) => {
return entry.indexOf('.png') > -1;
});
in questo esempio abbiamo un array contenente nomi di immagini con estensione jpg e png.
Supponendo di voler visualizzare solo le immagini con estensione png potrei ,appunto,utilizzare ,il metodo filter contenente il metodo index() di javascript.
Quest’ultimo, se non lo sapessi già, restituisce il primo indice al quale un determinato elemento viene trovato con il relativo valore.
Se l’elemento non venisse trovato il valore dell’indice coinciderebbe con il valore -1, per tal motivo ho inserito la condizione > -1.
Spesso i metodi map e filter vengono concatenati insieme, di solito si usa prima filter e poi map.