Разметка html.
<div id="type" class="">Красный клен</div>
Есть массив исключений и проверяемое поле.
var exceptions = ["красный", "синий", "белый"];
var type = [document.getElementById(`type`).innerHTML];
Если в type присутствует любой из элементов массива exceptions, то if не должен срабатывать. Он у меня всегда выводит что 'не содержит'. Почему так?
market_exceptions.some(q => {
if (!type[0].startsWith(q)) {
c('не содержит');
}
});
Так как метод startsWith регистрозависимый, он считает строки с разным регистром разными, например: красный - Красный
Чтобы исправить это необходимо привести строки к одному регистру, либо хранить все допустимые варианты строк.
Привести к одному регистру можно с помощью функций toUpperCase и toLowerCase
Код станет выглядеть так:
var currentType = type[0].toLowerCase(); // так как в market_exceptions элементы уже в нижнем регистре достаточно привести только проверяемую строку
market_exceptions.some(q => {
if (!currentType.startsWith(q)) {
c('не содержит');
}
});
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости