Nie możemy jednak użyć operatora równości do porównywania tablic. Powodem tego jest to, że tablica JavaScript jest typem obiektu, a obiekty są porównywane na podstawie odniesień zmiennych, a nie na wartościach.
const array1 = [1, 2, 3];W powyższym kodzie zainicjowaliśmy dwie tablice, które są takie same. Jednak na wyjściu zobaczymy FAŁSZ:
Dlatego w celu rozwiązania tego problemu w tym poście nauczymy się kilku sposobów porównywania dwóch tablic w JavaScript.
Metoda 1: ToString ()
ToString () Metoda jest wbudowaną metodą JavaScript, która konwertuje dowolny typ danych, taki jak liczba całkowita na ciąg, a następnie zwraca ten numer całkowitą jako ciąg. Możemy zastosować ToString () Metoda na tablicy, która przekonwertuje tablicę na ciąg, a następnie porównać ciąg z drugim ciągiem.
const array1 = [1, 2, 3];W powyższym kodzie zainicjowaliśmy trzy tablice, a następnie zastosowaliśmy ToString () Metoda na tablicach i najpierw porównała tablicę 1 z Array2 i zwróciła wynik w konsoli. W ten sam sposób porównaliśmy Array1 do Array3 i konsoli rejestrowanie wyniku:
Z powyższego wyjścia widzimy, że „Array1” jest równe „array2”, ale „Array1” nie jest równe „tablice3”.
Metoda 2: Zastosowanie do pętli
Przejrzyjmy inną metodę, w której ręcznie sprawdzimy elementy dwóch tablic, a następnie wygenerujemy wyjście. W tym celu pozwól, że najpierw pokażę ci kod:
funkcja porównawcza ()W powyższym kodzie zdefiniowaliśmy funkcję, w której najpierw zainicjowaliśmy dwie tablice. Następnie ustawiamy warunek, aby sprawdzić długość tablic.
Jeśli długość dwóch tablic nie jest równa, oznacza to, że dwie tablice są różne, stąd funkcja zwróci false.
Jeśli jednak długość jest taka sama, ustawiliśmy pętlę, w której sprawdzimy każdy element obu tablic. Jeśli choć jeden element nie jest równy, zostanie zwrócony Fałsz. Jeśli wszystkie elementy obu tablic są dopasowane, powróci to prawda.
Dane wyjściowe powyższego kodu pokazano poniżej:
Jeśli nieco zmienimy kod, podając dwie tablice, które są równe E.G:
funkcja porównawcza ()Wygenerowane zostanie następujące dane wyjściowe:
Wniosek
Nie możemy porównać dwóch tablic w JavaScript za pomocą operatora równości == lub ===, ponieważ tablice JavaScript są obiektami, a zatem odniesienie jest sprawdzane, a nie wartości. W tym celu zdefiniowaliśmy dwie metody w tym poście, aby porównać tablice. W pierwszej metodzie zastosowaliśmy wbudowaną metodę ToString () gdzie najpierw przekonwertowaliśmy tablice na ciąg, a następnie sprawdziliśmy dwa zwrócone ciągami za pomocą operatora równości. W drugiej metodzie najpierw ręcznie sprawdziliśmy długość, a następnie porównaliśmy wszystkie elementy dwóch tablic jeden po drugim za pomocą pętli dla.