Сравнение окончаний строк в JavaScript: подробное руководство с примерами кода

В JavaScript существует несколько методов и техник для сравнения строки с ее окончанием. Эти подходы позволяют вам проверить, заканчивается ли строка определенной подстрокой, символом или шаблоном. В этой статье мы рассмотрим различные методы решения этой задачи, а также приведем примеры кода для каждого подхода.

Метод 1. Использование метода endsWith().
Метод endsWith() — это встроенная функция JavaScript, которая проверяет, заканчивается ли строка указанной подстрокой. Вот как вы можете его использовать:

const str = "Hello, World!";
const suffix = "World!";
if (str.endsWith(suffix)) {
  console.log("The string ends with the specified suffix.");
} else {
  console.log("The string does not end with the specified suffix.");
}

Метод 2. Использование регулярных выражений.
Регулярные выражения предоставляют мощный и гибкий способ сопоставления шаблонов в строках. Вы можете использовать метасимвол $для соответствия концу строки. Вот пример:

const str = "Hello, World!";
const pattern = /World!$/;
if (pattern.test(str)) {
  console.log("The string ends with the specified pattern.");
} else {
  console.log("The string does not end with the specified pattern.");
}

Метод 3: использование slice()и сравнения.
Вы можете использовать метод slice()для извлечения конечной части строки и последующего сравнения ее с желаемым окончанием.. Вот пример:

const str = "Hello, World!";
const suffix = "World!";
const ending = str.slice(-suffix.length);
if (ending === suffix) {
  console.log("The string ends with the specified suffix.");
} else {
  console.log("The string does not end with the specified suffix.");
}

Метод 4. Использование lastIndexOf()и сравнения.
Метод lastIndexOf()возвращает индекс последнего вхождения указанного значения в строку. Сравнивая индекс с длиной строки, можно определить, заканчивается ли она определенной подстрокой. Вот пример:

const str = "Hello, World!";
const suffix = "World!";
const lastIndex = str.lastIndexOf(suffix);
if (lastIndex !== -1 && lastIndex === str.length - suffix.length) {
  console.log("The string ends with the specified suffix.");
} else {
  console.log("The string does not end with the specified suffix.");
}

В этой статье мы рассмотрели различные методы сравнения строки с ее окончанием в JavaScript. Вы можете выбрать подход, который соответствует вашим потребностям, исходя из сложности ваших требований к сравнению. Метод endsWith()обеспечивает простое решение, а регулярные выражения обеспечивают большую гибкость. Кроме того, использование slice()или lastIndexOf()предоставляет альтернативные варианты сравнения строк. Используя эти методы, вы можете эффективно определить, заканчивается ли строка определенной подстрокой или шаблоном в JavaScript.

Не забудьте учитывать влияние на производительность и конкретные варианты использования при выборе наиболее подходящего метода для вашей ситуации.