Wstęp:
JavaScript jest szeroko używanym językiem programowania i zapewnia kilka wbudowanych metod manipulowania ciągami znaków. Dwie z najczęściej używanych metod wyszukiwania w ciągu określonego znaku lub podciągu to indeks() I szukaj() . Chociaż te dwie metody mogą wydawać się podobne pod względem funkcjonalności, mają kilka kluczowych różnic. W tym artykule przyjrzymy się różnicom pomiędzy IndexOf() i search() w JavaScript.
Metoda IndexOf():
The indeks() metoda to wbudowana funkcja JavaScript, która służy do znalezienia indeksu pierwszego wystąpienia podciągu w danym ciągu. Ta metoda zwraca indeks pierwszego wystąpienia określonego podciągu, zaczynając od początku ciągu. Jeżeli podciąg nie zostanie znaleziony, metoda zwraca -1 .
Składnia:
Składnia używania indeks() metoda jest następująca:
string.indexOf(searchValue[, fromIndex])
Tutaj, strunowy to ciąg znaków, który ma zostać przeszukany, wartość wyszukiwania jest wartością do wyszukania, oraz zIndeksu jest opcjonalnym parametrem, który określa pozycję w ciągu, od której powinno rozpocząć się wyszukiwanie. Jeśli zIndeksu nie jest zapewniony, indeks() Metoda rozpoczyna wyszukiwanie od początku ciągu. Jeśli zIndeksu jest negatywny wartość, wyszukiwanie rozpoczyna się od końca ciągu.
Przykład:
przykłady kodu w języku c#
Weźmy przykład, aby zrozumieć indeks() metoda:
let str = 'JavaScript is a powerful programming language'; let index = str.indexOf('powerful'); console.log(index);
Wyjście:
16
Wyjaśnienie:
Tutaj metoda indeksOf(). wyszukuje pierwsze wystąpienie słowa 'potężny' w sznurku „JavaScript to potężny język programowania” . Od słowa 'potężny' pojawia się w indeksie 16 , metoda zwraca 16 .
metoda wyszukiwania():
The metoda wyszukiwania(). to także wbudowana funkcja JavaScript, która służy do znalezienia indeksu pierwszego znaku podciągu w danym ciągu. Ta metoda zwraca indeks pierwszego wystąpienia określonego podciągu, zaczynając od początku ciągu. Jeżeli podciąg nie zostanie znaleziony, metoda zwraca -1 .
Składnia:
Składnia używania metoda wyszukiwania(). następująco:
string.search(regexp)
Tutaj, strunowy jest ciągiem do przeszukania, oraz wyrażenie regularne jest Wyrażenie regularne wzór do wyszukania. Jeśli Wyrażenie regularne wzór został znaleziony, szukaj() Metoda zwraca indeks pierwszego znaku dopasowania. Jeżeli nie zostanie znaleziony wzorzec wyrażenia regularnego, metoda zwraca -1 .
Przykład:
Weźmy przykład, aby zrozumieć szukaj() metoda:
let str = 'JavaScript is a powerful programming language'; let index = str.search(/powerful/); console.log(index);
Wyjście:
16
Wyjaśnienie:
Tutaj szukaj() metoda wyszukuje Wyrażenie regularne wzór /potężny/ w sznurku „JavaScript to potężny język programowania” . Ponieważ wzorzec wyrażenia regularnego pasuje do słowa 'potężny' , metoda zwraca 16 .
Różnice między IndexOf() i search():
Chociaż oba indeks() I szukaj() metody służą do wyszukiwania podciągu w obrębie danego ciągu, mają kilka kluczowych różnic. Przyjrzyjmy się tym różnicom obok siebie:
Metoda indeksOf(). | metoda wyszukiwania(). |
---|---|
indeks() Metoda wyszukuje określony podciąg w obrębie danego ciągu. | szukaj() Metoda wyszukuje wzorzec wyrażenia regularnego w podanym ciągu. |
Metoda IndexOf() zwraca indeks pierwszego wystąpienia określonego podłańcucha. | Metoda search() zwraca indeks pierwszego znaku dopasowania. |
Metoda indeksOf() nie obsługuje wyrażeń regularnych. | Metoda search() obsługuje wyrażenia regularne. |
Metoda IndexOf() może przyjąć opcjonalny parametr fromIndex, aby rozpocząć wyszukiwanie od określonego indeksu. | Metoda search() nie akceptuje opcjonalnego parametru umożliwiającego rozpoczęcie wyszukiwania od określonego indeksu. |
Metoda indeksOf() jest szybsza niż metoda search(), ponieważ nie obsługuje wyrażeń regularnych. | Metoda search() jest wolniejsza niż metoda indeksOf(), ponieważ obsługuje wyrażenia regularne. |
W metodzie IndexOf() rozróżniana jest wielkość liter. | W metodzie search() również domyślnie uwzględniana jest wielkość liter, ale można wyłączyć rozróżnianie wielkości liter za pomocą metody /i flaga we wzorcu wyrażenia regularnego. |
Metoda indeksOf() jest szeroko stosowana do prostego wyszukiwania ciągów. | Metoda search() jest szeroko stosowana do dopasowywania złożonych wzorców przy użyciu wyrażeń regularnych. |
Wniosek:
Podsumowując, jedno i drugie indeks() I szukaj() Metody są przydatne do wyszukiwania podciągu w danym ciągu. Mają jednak kilka kluczowych różnic, które sprawiają, że nadają się do różnych przypadków użycia. Metoda IndexOf() jest szybsza i bardziej odpowiednia do prostego wyszukiwania ciągów, natomiast metoda search() obsługuje wyrażenia regularne i jest bardziej odpowiednia do dopasowywania złożonych wzorców. Ważne jest, aby wybrać odpowiednią metodę w oparciu o specyficzne wymagania programu.