Come filtrare gli array di oggetti in base agli attributi in JavaScript

Come filtrare gli array di oggetti in base agli attributi in JavaScript
Gli array sono strutture di dati che consentono di archiviare valori diversi in una singola variabile memorizzando informazioni in una serie di indirizzi di memoria vicini. Un array può contenere una raccolta di dati dello stesso tipo. Puoi anche archiviare molti oggetti con lo stesso tipo e i loro attributi in un array, che possono quindi essere recuperati o filtrati usando vari metodi in JavaScript.

Questo studio discuterà i metodi per filtrare gli array di oggetti in base agli attributi.

Come filtrare gli array di oggetti in base agli attributi in JavaScript?

Per filtrare gli array di oggetti basati su attributi in JavaScript, utilizzare i seguenti metodi:

  • Find () Metodo
  • Metodo Filtro ()

Esaminiamo tutti questi metodi individualmente.

Metodo 1: array di oggetti filtrati in base agli attributi usando il metodo find ()

Il metodo "Find ()" viene utilizzato per filtrare un singolo oggetto da una serie di oggetti che soddisfano la condizione data. Qui esamineremo il metodo Find () con la funzione freccia (=>).

La funzione freccia è anche una funzione anonima, in quanto è definita senza il nome della funzione. Ulteriori informazioni sulle funzioni di freccia.

Sintassi
Per utilizzare la funzione freccia con il metodo Filter () seguire la sintassi data:

filtro (currentElement =>
restituire una tenuta condizionale;
);

Restituisce il primo elemento che corrisponde alla condizione specificata e se nessun elemento corrisponde, restituisce "non definito".

Esempio:
Innanzitutto, creeremo una serie di oggetti chiamati "dipendente":

VAR Employeelist = [
id: 101, nome: 'rhonda', età: 20, dipartimento: 'audit',
id: 111, nome: 'susan', età: 28, dipartimento: 'account',
id: 191, nome: 'Stephen', età: 32, dipartimento: 'audit',
id: 131, nome: 'Napoleone', età: 20, dipartimento: 'hr'
];

Filtrare l'oggetto in base all'attributo "Dipartimento"Questo è uguale a"Audit"Usando il metodo find ():

VAR Employee = dipendente.find (emp =>
restituire emp.repart === 'audit';
);

Infine, stampare l'oggetto filtrato sulla console usando "console.tronco d'albero()" metodo:

console.registro (dipendente);

L'output visualizza l'unico primo oggetto che corrisponde al reparto === 'audit':

Se si desidera accedere a un attributo che non esiste nell'oggetto, in quel caso, il metodo Filter () restituirà "non definito":

Come filtrare tutti gli oggetti relativi a una determinata condizione? Segui la sezione successiva.

Metodo 2: array di oggetti Filtro basati su attributi usando il metodo Filter ()

Per filtrare tutti gli oggetti da un array basato su attributi nella condizione data, il JavaScript ha predefinito "filtro()"Viene utilizzato il metodo. Qui esamineremo due approcci per l'applicazione di un filtro a una serie di oggetti, una funzione freccia o una funzione di richiamata. Riceve ogni elemento passato ad esso con il metodo Filter (), che si schiera internamente attraverso gli elementi dell'array. Aggiunge l'elemento all'array restituito se la funzione di callback restituisce vero.

Sintassi
La sintassi del metodo Filter () è la seguente:

filtro (callback, oggetto);

Qui, il metodo Filter () richiede due parametri, "funzione di callback", Che è il parametro obbligatorio e"oggetto", Che è un argomento opzionale. Supera un nuovo array che contiene ogni elemento che soddisfa il requisito specificato. Se nessuno degli elementi soddisfa la condizione specificata, restituirà un array vuoto come output.

Per utilizzare il metodo Filter () con la funzione di callback per filtrare l'array di oggetti in base agli attributi, utilizzare la seguente sintassi:

var newarray = array.filtro (function (currentElement)
restituire una tenuta condizionale;
);

La funzione callback () prende tre parametri il "CurrentElement","indice", e un "vettore". La corrente è l'elemento nell'array che è attualmente in fase di elaborazione dalla funzione di callback ed è l'argomento obbligatorio. In confronto, l'indice e l'array sono parametri opzionali.

Esempio 1: array di oggetti Filtro basati su attributi utilizzando il metodo Filter () con funzione di callback
Useremo lo stesso array di oggetti "dipendente"Creato nell'esempio precedente. Ora useremo il metodo Filter () con la funzione di callback per filtrare l'array di oggetto in base all'attributo "nome":

VAR Employee = dipendente.filtro (function (emp)
restituire emp.name === 'Susan';
);

Produzione

Esempio 2: array di oggetti Filtro basati su attributi utilizzando il metodo Filter () con una funzione freccia
Qui useremo il metodo Filter () con la funzione freccia per filtrare l'array di oggetto in base all'attributo "Dipartimento":

VAR Employee = dipendente.filtro (emp =>
restituire emp.repart === 'audit';
);

L'output mostra tutti i dati che corrispondono al reparto === 'audit':

Se si desidera accedere all'attributo che non esiste nell'oggetto, restituirà un array vuoto:

Abbiamo raccolto tutti i metodi per filtrare una serie di oggetti in base agli attributi in JavaScript.

Conclusione

Per filtrare l'array di oggetti in base agli attributi in JavaScript, utilizzare i metodi integrati JavaScript come "Trovare()Metodo o "filtro()" metodo. Il metodo find () emette il primo elemento che corrisponde alla condizione specificata e se nessun elemento corrisponde, restituisce indefinito. Al contrario, il metodo Filter () fornisce un nuovo array che contiene elementi che soddisfano la condizione specificata. Se nessuno degli elementi soddisfa la condizione particolare, darà un array vuoto. In questo studio, abbiamo discusso dei metodi per filtrare l'array di oggetti in base ai loro attributi con esempi.