Jak sprawdzić, czy tablica zawiera obiekt w JavaScript?

Jak sprawdzić, czy tablica zawiera obiekt w JavaScript?
W większości języków programowania wyższego poziomu tablice są wyposażone w wbudowane metody, które można użyć do dostępu i manipulowania danymi obecnymi w tablicach. JavaScript ma również takie metody, które będą tematem tego artykułu. W szczególności metody, które można użyć do sprawdzenia, czy obiekt o określonej właściwości/wartości jest obecny w tablicy.

JavaScript oferuje wiele metod, których funkcjonalność można użyć do sprawdzenia obiektów wewnątrz tablic. Przyjrzymy się większości z nich bardzo szczegółowo:

arr.Metoda ()

Metoda Some () zajmuje funkcję jako argument, który sprawdza, czy jakikolwiek element tablicy zawiera określoną wartość właściwości. Jeśli ta wartość właściwości zostanie znaleziona, metoda zwraca true:

Niech pracownicy = [FirstName: „John”, LastName: „Doe”, wiek: 39, FirstName: „Adam”, LastName: „Smith”, wiek: 40];
Let Found = Pracownicy.niektóre (obj =>
if (obj.wiek == 40)
returnTrue;

returnfalse;
);
konsola.log (znaleziony);

W przeciwnym razie zwraca fałsz:

Niech pracownicy = [FirstName: „John”, LastName: „Doe”, wiek: 39, FirstName: „Adam”, LastName: „Smith”, wiek: 40];
Let Found = Pracownicy.niektóre (obj =>
if (obj.wiek == 55)
returnTrue;

returnfalse;
);
konsola.log (znaleziony);

arr.obejmuje () metodę

Metoda obejmuje obiekt jako argument i zwraca prawdziwie, jeśli jest obecna w tablicy:

Niech emp1 = FirstName: „John”, LastName: „Doe”, wiek: 39;
Niech emp2 = FirstName: „Adam”, LastName: „Smith”, wiek: 40;
Niech pracownicy = [emp1, emp2];
Let Found = Pracownicy.obejmuje (emp1);
konsola.log (znaleziony);

Należy zauważyć, że obiekt argumentu i obiekt wewnątrz tablicy powinny być takie same. Różne obiekty o tych samych wartościach zwrócą false:

Niech pracownicy = [FirstName: „John”, LastName: „Doe”, wiek: 39, FirstName: „Adam”, LastName: „Smith”, wiek: 40];
Let Found = Pracownicy.Obejmuje (FirstName: „Adam”, LastName: „Smith”, wiek: 40);
konsola.log (znaleziony);

arr.metoda znajdź ()

Metoda Find () jest podobna do Some (), ponieważ sprawdza określone wartości właściwości, ale jeśli znaleziono, zwraca obiekt zamiast wartości prawdziwej:

Niech pracownicy = [FirstName: „John”, LastName: „Doe”, wiek: 39, FirstName: „Adam”, LastName: „Smith”, wiek: 40];
Let Found = Pracownicy.znaleźć (obj =>
if (obj.wiek == 40)
returnTrue;

returnfalse;
);
konsola.log (znaleziony);

Jeśli obiekt nie jest obecny, metoda FINK () zwraca niezdefiniowaną:

Niech pracownicy = [FirstName: „John”, LastName: „Doe”, wiek: 39, FirstName: „Adam”, LastName: „Smith”, wiek: 40];
Let Found = Pracownicy.znaleźć (obj =>
if (obj.wiek == 28)
returnTrue;

returnfalse;
);
konsola.log (znaleziony);

arr.Metoda filtra ()

Metodę Filter () można zastosować w tablicy, aby uzyskać listę wszystkich obiektów, które przechodzą określone warunki:

Niech pracownicy = [FirstName: „John”, LastName: „Doe”, wiek: 39, FirstName: „Adam”, LastName: „Smith”, wiek: 40];
Let Found = Pracownicy.filtr (obj =>
if (obj.wiek == 40)
returnTrue;

returnfalse;
);
konsola.log (znaleziony);

arr.metoda findIndex ()

Metoda FindIndex () sprawdzi określoną wartość właściwości i zwróci indeks znaleziony obiekt:

Niech pracownicy = [FirstName: „John”, LastName: „Doe”, wiek: 39, FirstName: „Adam”, LastName: „Smith”, wiek: 40];
Let Found = Pracownicy.findIndex (obj =>
if (obj.wiek == 40)
returnTrue;

returnfalse;
);
konsola.log (znaleziony);

Jeśli obiekt nie zostanie znaleziony, zwraca -1:

Niech pracownicy = [FirstName: „John”, LastName: „Doe”, wiek: 39, FirstName: „Adam”, LastName: „Smith”, wiek: 40];
Let Found = Pracownicy.findIndex (obj =>
if (obj.wiek == 99)
returnTrue;

returnfalse;
);
konsola.log (znaleziony);

Wniosek

W tym spisie omówiliśmy kilka sposobów sprawdzania, czy tablica zawiera obiekt w JavaScript. Wszystkie te metody mają kilka różnic w tym, jak działają. Różnice te zostały wymienione i kompleksowo omówione w powyższym poście.