вступ:
JavaScript — це широко поширена мова програмування, яка надає кілька вбудованих методів для роботи з рядками. Два найпоширеніших методу пошуку певного символу або підрядка в рядку: indexOf() і пошук() . Хоча ці два методи можуть здаватися схожими за функціональністю, вони мають кілька ключових відмінностей. У цій статті ми дослідимо відмінності між indexOf() і search() у JavaScript.
Метод indexOf():
The indexOf() метод — це вбудована функція JavaScript, яка використовується для пошуку індексу першого входження підрядка в заданий рядок. Цей метод повертає індекс першого входження зазначеного підрядка, починаючи з початку рядка. Якщо підрядок не знайдено, метод повертає -1 .
Синтаксис:
Синтаксис використання indexOf() метод полягає в наступному:
string.indexOf(searchValue[, fromIndex])
тут, рядок це рядок для пошуку, searchValue це значення для пошуку, і fromIndex є необов'язковим параметром, який визначає позицію в рядку, з якої має початися пошук. Якщо fromIndex не передбачено, в indexOf() метод починає пошук з початку рядка. Якщо fromIndex це негативний значення, пошук починається з кінця рядка.
приклад:
одиночний шаблон проектування java
Давайте візьмемо приклад, щоб зрозуміти indexof() метод:
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)
тут, рядок це рядок для пошуку, і регулярний вираз є регулярний вираз шаблон для пошуку. Якщо регулярний вираз закономірність знайдено, в пошук() метод повертає індекс першого символу збігу. Якщо шаблон регулярного виразу не знайдено, метод повертається -1 .
приклад:
Давайте візьмемо приклад, щоб зрозуміти пошук() метод:
let str = 'JavaScript is a powerful programming language'; let index = str.search(/powerful/); console.log(index);
Вихід:
16
Пояснення:
Ось, пошук() метод шукає регулярний вираз візерунок /потужний/ в рядку «JavaScript — потужна мова програмування» . Оскільки шаблон регулярного виразу відповідає слову 'потужний' , метод повертає 16 .
Відмінності між indexOf() і search():
Хоча обидва indexOf() і пошук() методи використовуються для пошуку підрядка в даному рядку, вони мають кілька ключових відмінностей. Давайте розглянемо ці відмінності пліч-о-пліч:
Метод indexOf(). | Метод search(). |
---|---|
indexOf() метод шукає вказаний підрядок у заданому рядку. | пошук() метод шукає шаблон регулярного виразу в заданому рядку. |
Метод indexOf() повертає індекс першого входження зазначеного підрядка. | Метод search() повертає індекс першого символу збігу. |
Метод indexOf() не підтримує регулярні вирази. | Метод search() підтримує регулярні вирази. |
Метод indexOf() може приймати додатковий параметр fromIndex, щоб розпочати пошук із певного індексу. | Метод search() не приймає необов’язковий параметр для початку пошуку з певного індексу. |
Метод indexOf() швидший за метод search(), оскільки він не підтримує регулярні вирази. | Метод search() повільніший за метод indexOf(), оскільки він підтримує регулярні вирази. |
Метод indexOf() чутливий до регістру. | Метод search() також чутливий до регістру за замовчуванням, але його можна зробити нечутливим за допомогою /i прапор у шаблоні регулярного виразу. |
Метод indexOf() широко використовується для простого пошуку рядків. | Метод search() широко використовується для пошуку складних шаблонів за допомогою регулярних виразів. |
Висновок:
На завершення обидва indexOf() і пошук() методи корисні для пошуку підрядка в даному рядку. Однак вони мають кілька ключових відмінностей, які роблять їх придатними для різних випадків використання. Метод indexOf() є швидшим і більш придатним для простого пошуку рядків, тоді як метод search() підтримує регулярні вирази та більше підходить для зіставлення складних шаблонів. Важливо вибрати відповідний метод на основі конкретних вимог вашої програми.