Jak przeszukiwać tablice w JavaScript za pomocą metod tablicy?

Jak przeszukiwać tablice w JavaScript za pomocą metod tablicy?
Podczas pracy z językami programowania często pracujesz z różnymi rodzajami danych umieszczonych wewnątrz zmiennych tablicy. JavaScript nie różni się niczym, jeśli chodzi o wykorzystanie danych w tablicach. Trywialnym sposobem wyszukiwania danych w tablicach jest użycie jakiejś pętli, najlepiej Do pętla. Jednak w JavaScript istnieją różne metody, które ułatwiają proces wyszukiwania za pośrednictwem tablicy.

Przeglądamy niektóre metody, które pomogą nam szukać elementu wewnątrz tablicy. Te metody to:

  • Obejmuje ()
  • indeks()
  • znajdować()
  • filtr()

Aby przetestować wszystkie metody w tym samouczku, utworzymy tablicę zawierającą różne elementy:

array = [„Google”, 13, 66, „To jest długie zdanie”, „Tabela i krzesło”];

.obejmuje () metodę

Kiedy chcesz przejść przez tablicę, aby odpowiedzieć na pytanie „czy ten element istnieje w tej tablicy, czy nie?„Używasz .obejmuje () metodę. Sposób .Obejmuje () Metoda działa polega na tym, że wyszukuje każdy element w tablicy w poszukiwaniu dopasowania, a jeśli znajdzie jakikolwiek dopasowanie, który zwraca PRAWDA W przeciwnym razie zwróci fałsz.

Składnia .obejmuje () metodę

arr.Obejmuje (ELEM);

Wartość zwracana: Wartość logiczna

Przykład
Teraz, gdy mamy naszą tablicę:

array = [„Google”, 13, 66, „To jest długie zdanie”, „Tabela i krzesło”];

Spróbujmy znaleźć, czy istnieje w nim element „Google”, używając następującego wiersza kodu:

konsola.Log (tablica.obejmuje („Google”));

Wyjście to:

Wraca PRAWDA, co oznacza, że ​​element, którego szukaliśmy, jest rzeczywiście obecny w tablicy.

Czas sprawdzić, czy numer 23 jest obecny w naszej tablicy, czy nie. Możemy wyszukać 23, używając polecenia:

konsola.log (ARR.obejmuje (23));

Otrzymujemy dane wyjściowe:

Zwrócił fałsz, co oznacza, że ​​nie ma takiego elementu obecnego w tablicy.

.Metoda indexof ()

indeks() Metoda działa w podobny sposób jak Obejmuje () metoda, ale subtelna różnica między tymi dwiema funkcjami jest to, że indeks() Metoda przeszukuje tablicę żądanego elementu i zwraca wartość indeksu zamiast zwracać tylko wartość logiczną. Jeśli nie ma takiego elementu obecnego w tablicy, zwraca wartość indeksu -1.

Składnia .Metoda indexof ()
Składnia .indeks() Metoda jest dość podstawowa. To jest:

arr.indeks (ELEM);

Wartość zwracana: Indeks elementu wewnątrz tablicy.

Przykład
Biorąc tablicę zadeklarowane:

array = [„Google”, 13, 66, „To jest długie zdanie”, „Tabela i krzesło”];

Przetestujemy tę funkcję, próbując znaleźć element „Tabela i krzesło” za pomocą następującego polecenia:

konsola.Log (tablica.indeksof („stół i krzesło”));

Wyjście to:

Dane wyjściowe to 4, ponieważ element „Tabela i krzesło” był piątym elementem wewnątrz tablicy i wiemy, że pierwszy element wewnątrz tablicy zaczyna się od indeksu „0”, dlatego piąty element ma indeks 4.

Weźmy kolejny przykład, w którym spróbujemy znaleźć indeks elementu „yahoo” w naszej tablicy.

konsola.Log (tablica.indexof („yahoo”));

Otrzymujemy następujące dane wyjściowe:

Jak widzimy, dane wyjściowe wynosi -1, co oznacza, że ​​element „yahoo” nie jest obecny w naszej tablicy.

.metoda znajdź ()

.znajdować() Metoda przyjmuje funkcję wywołania zwrotnego i iteruje całą tablicę, aby znaleźć i zwrócić pierwszy element, który spełnia określony warunek podany w funkcji zwrotnej.

Składnia .metoda znajdź ()
Składnia .znajdować() Funkcja to:

szyk.znaleźć (funkcja (element [, indeks [, tablica]] to.arg);

Ta metoda ma sporo parametrów:

  • funkcjonować: Funkcja oddzwonienia, która zostanie sprawdzona z każdym elementem tablicy.
  • Ten: Parametr domyślny - Ten Argument metody

Funkcja wywołania zwrotnego obejmuje trzy argumenty:

  • element: Pojedynczy element tablicy podczas iteracji, który jest dopasowany do danego warunku w funkcji
  • indeks: Indeks bieżącego elementu
  • szyk: bieżącego elementu

Wartość zwracana: Element, który przechodzi w inaczej warunek nieokreślony.

Przykład
Spróbujmy znaleźć element wewnątrz tablicy, który ma długość więcej niż 10 za pomocą następującego polecenia:

konsola.Log (tablica.Znajdź (Elem => Elem.długość> 10));

Otrzymujemy następujące dane wyjściowe:

Pierwszy element, który ma długość ponad 10, został wydrukowany, mimo że w tablicy był jeszcze inny element, który miał długość więcej niż 10.

Zróbmy to jedno, zmieniając warunek z więcej niż 10 na więcej niż 30, wiemy, że nie mamy żadnego elementu w naszej tablicy, który ma długość więcej niż 30.

Użyj następującego polecenia:

konsola.Log (tablica.Znajdź (Elem => Elem.długość> 30));

Otrzymujemy wyjście, to:

Jak już wiedzieliśmy, nie mieliśmy elementu o długości większej niż 30, dlatego funkcja powróciła do nas z „niezdefiniowaną”.

.Metoda filtra ()

Jak wiemy teraz, że .znajdować() Metoda znajduje tylko pierwszy element, który spełnia określony warunek, a następnie przestaje wykonywać. Ale przez większość czasu tego nie chcesz, chcesz listę wszystkich elementów, które spełniają ten konkretny warunek. Dlatego używamy .filtr() metoda.

.filtr() Metoda przeszukuje tablicę i zwraca tablicę wszystkich elementów, które spełniają określony warunek.

Składnia metody Filter ()
Składnia metody Filter () jest dość podobna do .metoda znajdź (). To jest:

szyk.znaleźć (funkcja (element [, indeks [, tablica]] to.arg);

Wyjaśnijmy jego parametry bardzo krótko.

  • funkcjonować: Funkcja wywołania zwrotnego
  • Ten: Parametr domyślny - Ten Argument metody

Funkcja wywołania zwrotnego obejmuje trzy argumenty:

  • element: Pojedynczy element tablicy podczas iteracji, który jest dopasowany do danego warunku w funkcji
  • indeks: Indeks bieżącego elementu
  • szyk: Tablica bieżącego elementu

Wartość zwracana: Tablica zawierająca wszystkie elementy, które minęły warunek, w przeciwnym razie pusta tablica.

Przykład
Weźmy przykład z poprzedniej metody, jaką jest sprawdzenie tablicy elementów, które mają długość więcej niż 10 za pomocą polecenia:

konsola.Log (tablica.Filtr ((ELEM) => ELEM.długość> 10));

Dane wyjściowe polecenia jest jako:

Jak widać, ta metoda zwróciła szereg wszystkich elementów, które spełniły nasz stan. Ale co, jeśli, podobnie jak przykłady w poprzedniej metodzie, chcemy wyszukać elementy o długości ponad 30?. Cóż, robimy to za pomocą następującego stwierdzenia:

konsola.Log (tablica.Filtr ((ELEM) => ELEM.długość> 30));

Otrzymujemy wyjście, to:

Ponieważ nie było nawet jednego elementu w tablicy, który miał długość więcej niż 30, dlatego ta metoda zwróciła nam pustą tablicę.

W końcu jesteśmy teraz świadomi niektórych odpowiedzi po użyciu tych metod:

  • Czy chcesz wiedzieć, czy element jest obecny w tablicy?
    Użyj .Obejmuje () metoda
  • Czy chcesz znaleźć i uzyskać indeks określonego elementu wewnątrz tablicy?
    Użyj .indeks() metoda
  • Czy chcesz wiedzieć, który element lub elementy spełniają określony warunek?
    Użyj .znajdować() I .filtr() metody

Wniosek

Radzenie sobie z danymi przechowywanymi wewnątrz tablic jest kluczową i integralną częścią każdego języka programowania, szczególnie gdy pracujesz z strukturalnymi danymi w tablicach. Możemy przeszukiwać tablicę za pomocą czterech kluczowych metod dostarczonych w JavaScript. Te metody są mianowicie Obejmuje (), find (), indexof (), filtr (). Nauczyliśmy się składni tych metod, ich wartości powrotu wraz z ich przykładami.