Въведение:
JavaScript е широко използван език за програмиране и предоставя няколко вградени метода за манипулиране на низове. Два от най-често използваните методи за търсене на низ за конкретен знак или подниз са индекс на() и Търсене() . Въпреки че тези два метода може да изглеждат подобни по функционалност, те имат няколко ключови разлики. В тази статия ще проучим разликите между indexOf() и search() в JavaScript.
indexOf() Метод:
The индекс на() метод е вградена функция в JavaScript, която се използва за намиране на индекса на първото появяване на подниз в даден низ. Този метод връща индекса на първото появяване на посочения подниз, започвайки от началото на низа. Ако поднизът не бъде намерен, методът се връща -1 .
Синтаксис:
Синтаксисът за използване на индекс на() метод е както следва:
string.indexOf(searchValue[, fromIndex])
Тук, низ е низът за търсене, searchValue е стойността за търсене и отИндекс е незадължителният параметър, който указва позицията в низа, където трябва да започне търсенето. Ако отИндекс не се предоставя, на индекс на() метод започва търсенето от началото на низа. Ако отИндекс е отрицателен стойност, търсенето започва от края на низа.
Пример:
java двойно към низ
Нека вземем пример, за да разберем индекс на() метод:
let str = 'JavaScript is a powerful programming language'; let index = str.indexOf('powerful'); console.log(index);
Изход:
16
Обяснение:
Ето, метод indexOf(). търси първото срещане на думата 'мощен' в низа „JavaScript е мощен език за програмиране“ . Тъй като словото 'мощен' се появява в индекса 16 , методът се връща 16 .
search() метод:
The метод search(). също е вградена JavaScript функция, която се използва за намиране на индекса на първия знак на подниз в рамките на даден низ. Този метод връща индекса на първото появяване на посочения подниз, започвайки от началото на низа. Ако поднизът не бъде намерен, методът се връща -1 .
Синтаксис:
Синтаксисът за използване на метод search(). е както следва:
string.search(regexp)
Тук, низ е низът, в който ще се търси, и regexp е регулярен израз модел за търсене. Ако регулярен израз е намерен модел, на Търсене() метод връща индекса на първия знак от съвпадението. Ако моделът на регулярен израз не бъде намерен, методът се връща -1 .
Пример:
Нека вземем пример, за да разберем Търсене() метод:
let str = 'JavaScript is a powerful programming language'; let index = str.search(/powerful/); console.log(index);
Изход:
16
Обяснение:
Ето, Търсене() метод търси регулярен израз модел /мощен/ в низа „JavaScript е мощен език за програмиране“ . Тъй като моделът на регулярния израз съвпада с думата 'мощен' , методът се връща 16 .
Разлики между indexOf() и search():
Въпреки че и двете индекс на() и Търсене() методите се използват за търсене на подниз в рамките на даден низ, те имат няколко ключови разлики. Нека да разгледаме тези разлики една до друга:
Метод indexOf(). | метод search(). |
---|---|
индекс на() методът търси определен подниз в рамките на даден низ. | Търсене() методът търси модел на регулярен израз в даден низ. |
Методът indexOf() връща индекса на първото срещане на посочения подниз. | Методът search() връща индекса на първия знак от съвпадението. |
Методът indexOf() не поддържа регулярни изрази. | Методът search() поддържа регулярни изрази. |
Методът indexOf() може да приеме незадължителен параметър fromIndex, за да започне търсенето от конкретен индекс. | Методът search() не приема незадължителен параметър за стартиране на търсенето от конкретен индекс. |
Методът indexOf() е по-бърз от метода search(), защото не поддържа регулярни изрази. | Методът search() е по-бавен от метода indexOf(), защото поддържа регулярни изрази. |
Методът indexOf() е чувствителен към главни и малки букви. | Методът search() също е чувствителен към малки и малки букви по подразбиране, но може да бъде направен без значение с помощта на /i флаг в шаблона на регулярен израз. |
Методът indexOf() се използва широко за просто търсене на низове. | Методът search() се използва широко за съвпадение на сложни шаблони с помощта на регулярни изрази. |
Заключение:
В заключение и двете индекс на() и Търсене() методите са полезни за търсене на подниз в рамките на даден низ. Те обаче имат няколко ключови разлики, които ги правят подходящи за различни случаи на употреба. Методът indexOf() е по-бърз и по-подходящ за просто търсене на низове, докато методът search() поддържа регулярни изрази и е по-подходящ за съвпадение на сложни шаблони. Важно е да изберете подходящия метод въз основа на специфичните изисквания на вашата програма.