Jak filtrować tablice obiektów na podstawie atrybutów w JavaScript

Jak filtrować tablice obiektów na podstawie atrybutów w JavaScript
Tablice to struktury danych, które umożliwiają przechowywanie różnych wartości w jednej zmiennej poprzez przechowywanie informacji w zestawie pobliskich adresów pamięci. Tablica może przechowywać zbiór danych tego samego typu. Możesz także przechowywać wiele obiektów z tym samym typem i ich atrybutami w tablicy, które można następnie pobrać lub filtrować za pomocą różnych metod w JavaScript.

To badanie omówi metody filtrowania tablic obiektów na podstawie atrybutów.

Jak filtrować tablice obiektów na podstawie atrybutów w JavaScript?

Aby filtrować tablice obiektów na podstawie atrybutów w JavaScript, użyj następujących metod:

  • metoda znajdź ()
  • Metoda filtra ()

Przeanalizujmy wszystkie te metody indywidualnie.

Metoda 1: Filtruj tablice obiektów na podstawie atrybutów przy użyciu metody find ()

Metoda „Find ()” służy do filtrowania pojedynczego obiektu z tablicy obiektów, które spełniają dany warunek. Tutaj zbadamy metodę Find () z funkcją strzałki (=>).

Funkcja strzałek jest również funkcją anonimową, ponieważ jest definiowana bez nazwy funkcji. Dowiedz się więcej o funkcjach strzałek.

Składnia
Aby użyć funkcji strzałki za pomocą metody Filter (), postępuj zgodnie z podaną składnią:

filtr (CurrentElement =>
zwrot warunkowy;
);

Zwraca pierwszy element, który pasuje do określonego warunku, a jeśli żaden element nie pasuje, zwraca „nieokreślony".

Przykład:
Najpierw utworzymy szereg obiektów o nazwie „Lista zatrudnionych”:

var zatrudnione = [
Id: 101, nazwa: „Rhonda”, wiek: 20, Dept: „Audyt”,
Id: 111, nazwa: „Susan”, wiek: 28, Dept: „Konta”,
Id: 191, nazwa: „Stephen”, wiek: 32, Dept: „Audyt”,
Id: 131, nazwa: „Napoleon”, wiek: 20, Dept: „HR”
];

Filtruj obiekt na podstawie atrybutu „Wydział„To jest równe„Rewizja”Za pomocą metody Find ():

var Pracownik = Zatrudnienie.znaleźć (emp =>
zwrot EMP.Dept === „Audyt”;
);

Na koniec wydrukuj filtrowany obiekt na konsoli za pomocą „konsola.dziennik()" metoda:

konsola.log (pracownik);

Wyjście wyświetla jedyny pierwszy obiekt, który pasuje do Dept === „Audyt”:

Jeśli chcesz uzyskać dostęp do atrybutu, który nie istnieje w obiekcie, w takim przypadku powróci metoda filtr () „nieokreślony”:

Jak filtrować wszystkie obiekty związane z danym warunkami? Postępuj zgodnie z następną sekcją.

Metoda 2: Filtruj tablice obiektów na podstawie atrybutów za pomocą metody filtra ()

Aby odfiltrować wszystkie obiekty z tablicy opartej na atrybutach danego warunku, JavaScript predefiniował „filtr()„Zastosowana jest metoda. Tutaj zbadamy dwa podejścia do zastosowania filtra do tablicy obiektów, funkcji strzałki lub funkcji zwrotu połączenia. Otrzymuje każdy element przekazany do niego metodą Filter (), która wewnętrznie zapętla się przez elementy tablicy. Dodaje element do zwróconej tablicy, jeśli funkcja wywołania zwrotnego zwróci prawdziwie.

Składnia
Składnia metody Filter () jest następująca:

Filter (wywołanie zwrotne, obiekt);

Tutaj metoda Filter () przyjmuje dwa parametry, „Funkcja zwrotnego”, Który jest obowiązkowym parametrem i„obiekt”, Który jest opcjonalnym argumentem. Wyświetla nową tablicę zawierającą każdy element, który spełnia określony wymaganie. Jeśli żaden z elementów nie spełni określonego warunku, zwróci pustą tablicę jako wyjście.

Aby użyć metody Filter () z funkcją połączenia zwrotnego do filtrowania tablicy obiektów na podstawie atrybutów, użyj następującej składni:

var newarray = tablica.Filter (funkcja (CurrentElement)
zwrot warunkowy;
);

Funkcja callback () przyjmuje trzy parametry „Pustera”,„indeks”I„szyk". Preteracelement jest elementem w tablicy, która jest obecnie przetwarzana przez funkcję wywołania zwrotnego, i jest to obowiązkowy argument. Dla porównania, indeks i tablica są parametrami opcjonalnymi.

Przykład 1: Filtruj tablice obiektów na podstawie atrybutów przy użyciu metody Filter () z funkcją wywołania zwrotnego
Użyjemy tej samej tablicy obiektów „Lista zatrudnionych”Utworzone w poprzednim przykładzie. Teraz użyjemy metody Filter () z funkcją wywołania zwrotnego do filtrowania tablicy obiektu na podstawie atrybutu „nazwa”:

var Pracownik = Zatrudnienie.Filter (funkcja (emp)
zwrot EMP.Nazwa === „Susan”;
);

Wyjście

Przykład 2: Filtrowe tablice obiektów na podstawie atrybutów za pomocą metody filtra () z funkcją strzałki
Tutaj użyjemy metody Filter () z funkcją Arrow do filtrowania tablicy obiektu na podstawie atrybutu „Wydział”:

var Pracownik = Zatrudnienie.filtr (emp =>
zwrot EMP.Dept === „Audyt”;
);

Wyjście pokazuje wszystkie dane pasujące do Dept === „Audyt”:

Jeśli chcesz uzyskać dostęp do atrybutu, który nie istnieje w obiekcie, zwróci pustą tablicę:

Zebraliśmy wszystkie metody filtrowania tablicy obiektów na podstawie atrybutów w JavaScript.

Wniosek

Aby filtrować tablicę obiektów na podstawie atrybutów w JavaScript, użyj wbudowanych metod JavaScript, takich jak „znajdować()”Metoda lub„filtr()" metoda. Metoda Find () wyświetla pierwszy element, który pasuje do określonego warunku, a jeśli żaden element nie pasuje, zwraca niezdefiniowany. Natomiast metoda Filter () podaje nową tablicę zawierającą elementy, które spełniają określony warunek. Jeśli żaden z elementów nie spełni konkretnego warunku, da to pustą tablicę. W tym badaniu omówiliśmy metody filtrowania szeregu obiektów na podstawie ich atrybutów z przykładami.