logo

Разлика между indexof и търсене в JavaScript

Въведение:

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() поддържа регулярни изрази и е по-подходящ за съвпадение на сложни шаблони. Важно е да изберете подходящия метод въз основа на специфичните изисквания на вашата програма.