4 способа сравнить строки в JavaScript
В этой заметке ты узнаешь как сравнивать строки в JS с примерами использования.
Строгое равенство строк
Чтобы понять равны ли две строки, можно использовать оператор строгого сравнения === . Он вернет false если строки отличаются и true , если они равны.
const s1 = 'learn'; const s2 = 'today'; console.log(s1 === 'learn'); // true console.log(s1 === s2); // false
Сравнение строк с помощью === всегда происходит с учетом регистра, то есть учитываются большие и маленькие буквы.
const s1 = 'javascript'; const s2 = 'Javascript'; console.log(s1 === s2); // false
Сравнение строк без учета регистра
Если тебе неважно в каком регистре написаны буквы в строках, то ты можешь перевести обе строки в нижний регистр и после этого выполнить сравнение.
const s1 = 'javascript'; const s2 = 'Javascript'; console.log(s1.toLowerCase() === s2.toLowerCase()); // true
Сравнение длины строк
Если тебе нужно узнать какая из двух строк длиннее, то операторы “больше” и “меньше” не подойдут. Они сравнивают строки в алфавитном порядке и учитывают длину строк только в самую последнюю очередь.
const s1 = 'javascript'; const s2 = 'node.js'; console.log(s1 > s2); // false
Длина строки хранится в специальном поле length . Сравнивая значение этого поля у разных строк, мы узнаем какая из них длиннее.
const s1 = 'javascript'; const s2 = 'node.js'; console.log(s1.length > s2.length); // true
Проверка вхождения строки
Для того, чтобы проверить, входит ли одна строка в другую — используется встроенная функция includes .
const s1 = 'javascript'; const s2 = 'python'; console.log(s1.includes('script')); // true console.log(s2.includes('script')); // false
Как сравнить строки в JS
Сравнить строки можно с помощью следующих операторов: > , , == , === . Смотрите пример:
let str1 = ‘abcde’; let str2 = ‘abcd’; let str3 = ‘abcde’; console.log(‘str1 > str2’, str1 > str2); console.log(‘str1 == str2’, str1 == str2); console.log(‘str1 === str3’, str1 === str3);
Результат выполнения кода:
‘str1 > str2’ true ‘str1 == str2’ false ‘str1 === str3’ true
С помощью метода localeCompare
Чтобы сравнить строки также можно воспользоваться методом localeCompare , который возвращает число 1 , если первая строка больше второй, -1 — если меньше и 0 — если обе строки равны друг другу. Смотрите пример:
let str1 = ‘abcde’; let str2 = ‘abcd’; let str3 = ‘abcde’; let res1 = str1.localeCompare(str2); let res2 = str2.localeCompare(str1); let res3 = str1.localeCompare(str3); console.log(‘res1’, res1); console.log(‘res2’, res2); console.log(‘res3’, res3);
Результат выполнения кода:
‘res1’ 1 ‘res2’ -1 ‘res3’ 0
Смотрите также
- урок
cтроки в JavaScript
Сравните две строки в JavaScript
В этом посте мы обсудим, как сравнить две строки в JavaScript.
1. Использование localeCompare() метод
The localeCompare() Метод сравнивает строку с другой строкой и возвращает целое число, указывающее, идет ли строка до, после или эквивалентно указанной строке. Он возвращает отрицательное число, если строка находится перед строкой сравнения; положительный, если строка находится после строки сравнения; 0, если обе строки эквивалентны.
Как сравнить 2 строки посимвольно?
Привет всем. Нужно реализовать фичу на сайте:
Есть input, на нем висит событие keyup. Также есть массив городов. Нужно, чтобы при вводе символа в input, происходило сравнивание этого символа(строки) со всеми элементами массива. Т.е., например я ввожу Мо — мне в подсказке появляется Москва и другие города из массива, начинающиеся на Мо. Живой поиск одним словом. Реализовать я все могу, но не могу понять, как сравнить строки посимвольно, например, чтобы узнать, содержить ли одна строка другую строку
- Вопрос задан более трёх лет назад
- 4713 просмотров
1 комментарий
Простой 1 комментарий