Есть переменная val с содержимым 285 кривой или ровный %. Как определить имеется ли слово в переменной val?
var val = "285 кривой";
if (!val.indexOf("Кривой" || "ровный") + 1) {
console.log("нет");
} else {
console.log("есть");
}
Вам нужно изменить условие и сделать две разные проверки с помощью indexOf(), а не писать условия в параметры.
var val = "285 кривой";
if (val.indexOf("кривой") >= 0 || val.indexOf("ровный") >= 0) {
console.log("есть");
} else {
console.log("нет");
}
Так как у вас - не заработает, потому что оператор отрицания выполнится раньше чем оператор сложения
var indexOf = -1; // Слово не найдено
console.log(!indexOf + 1 ); // Условие выполняется
indexOf = 0; // Слово найдено
console.log(!indexOf + 1 ); // Условие выполняется
Пример использования indexOf дали в соседнем ответе, поэтому предложу метод includes:
var val = "285 кривой";
if (val.includes("кривой") || val.includes("ровный")) {
console.log("есть");
} else {
console.log("нет");
}
Сборка персонального компьютера от Artline: умный выбор для современных пользователей