banner
Centro notizie
Un ordine personalizzato è solo una richiesta di distanza

Guida al metodo JavaScript Array Filter()

Jul 25, 2023

In JavaScript, il metodo filter() è un metodo iterativo che chiama una funzione di callback una volta per ogni elemento di un array. Se la funzione di callback restituisce true, include quell'elemento nell'array restituito. Il metodo filter() è anche chiamato metodo di copia perché restituisce una copia superficiale di un array che contiene gli stessi elementi dell'array originale.

Il metodo JavaScript array filter() consente di filtrare un array per visualizzare solo gli elementi che soddisfano una condizione specificata. Utilizza una funzione di callback per scorrere ciascun elemento dell'array e restituisce solo quelli che soddisfano la condizione specificata.

Il metodo JavaScript filter() assomiglia a qualsiasi altro metodo, tranne per il fatto che accetta parametri che forniscono più opzioni per manipolare i dati all'interno di un array.

Il metodo filter() accetta due argomenti denominati: una funzione di callback e un oggetto opzionale. La funzione di callback accetta tre argomenti:

Gli argomenti dell'indice dell'array sono facoltativi.

Il metodo filter() crea un nuovo array con tutti gli elementi. Esistono tre modi diversi per scrivere la sintassi del metodo filter(). La sintassi è la seguente:

callbackFn esegue ogni elemento di un array. Restituisce un valore di verità per mantenere l'elemento in un array. Il callbackFn viene chiamato con i seguenti argomenti:

Altro su JavaScript 3 modi per utilizzare Array Slice in JavaScript

Per utilizzare il metodo filter() in JavaScript, dobbiamo seguire quattro passaggi:

Ecco un esempio che utilizza il metodo filter() per filtrare un array in base a criteri di ricerca per marchi automobilistici che iniziano con la lettera "B".

In questo esempio, il metodo filter() viene chiamato sull'array cars per restituire solo le marche di automobili che iniziano con la lettera "B". La funzione filterItems accetta due parametri arr e query che restituisce il nuovo array con il valore della query corrispondente. Metodo filtro internoIl metodo filter() viene chiamato sull'array cars che filtrerà l'array in base alla query.

Il metodo filter() attraversa l'array e testa ogni elemento per determinare se corrisponde alla query. Ritorna un nuovo assetto con tre marchi: Bentley, BMW e Bertone.

Il metodo filter() non modifica l'array originale, ma restituisce invece un nuovo array con solo gli elementi che superano il test all'interno della funzione.

Quello che segue è il codice che filtra un array di numeri e crea un nuovo array con solo gli elementi pari. I passaggi per utilizzare filter() su un array di numeri sono:

Ecco un esempio che dimostra il programma.

Nel codice precedente, abbiamo definito un array di numeri numberArr. Abbiamo utilizzato il metodo filter() su numeriArr e passato una funzione che determina se ogni elemento è pari utilizzando l'operatore modulo % per vedere se il numero è divisibile per due. Se il numero è pari, la funzione restituisce true e l'elemento viene incluso nel nuovo array evenNumbers. Se il numero è dispari, la funzione restituisce false e il numero viene escluso dal nuovo array.

Quello che segue è il codice che filtra un array di oggetti e crea un nuovo array con solo gli elementi di verità. I passaggi per utilizzare filter() su un array di oggetti sono:

Ecco un frammento di codice di esempio che dimostra il programma.

Nel codice precedente, abbiamo definito una serie di oggetti freelancer. Abbiamo utilizzato il metodo filter() sull'array freelancers e passato una funzione che controlla se ogni freelancer è esperto in JavaScript. Se la competenza corrispondeva alla condizione, l'oggetto veniva incluso nel nuovo array filter_freelancers. Se l'abilità non corrisponde, la funzione restituisce false e l'oggetto viene escluso dal nuovo array. Il risultato restituisce un nuovo array con due liberi professionisti, Harry e David, esperti in JavaScript.

Quello che segue è il codice che filtra tutti i numeri primi da un array e crea un nuovo array con solo i numeri primi. I passaggi per utilizzare filter() sono:

Ecco un frammento di codice di esempio che dimostra l'esempio.