Проблема определением наличия слова

262
26 апреля 2018, 10:01

Есть переменная val с содержимым 285 кривой или ровный %. Как определить имеется ли слово в переменной val?

var val = "285 кривой";
if (!val.indexOf("Кривой" || "ровный") + 1) {
    console.log("нет");
} else {
    console.log("есть");
}
Answer 1

Вам нужно изменить условие и сделать две разные проверки с помощью indexOf(), а не писать условия в параметры.

var val = "285 кривой"; 
if (val.indexOf("кривой") >= 0 || val.indexOf("ровный") >= 0) { 
  console.log("есть"); 
} else { 
  console.log("нет"); 
}

Answer 2

Так как у вас - не заработает, потому что оператор отрицания выполнится раньше чем оператор сложения

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("нет"); 
}

READ ALSO
кластеризация маркеров в GoogleMap

кластеризация маркеров в GoogleMap

Не понимаю как реализовать кластеризацию маркеров в данном случаеПомогите исправить ошибки и правильно реализовать эту функцию

233
Как правильно произвести замену img на svg?

Как правильно произвести замену img на svg?

Есть изображение img svg, которое вставлено на страницу с помощью тега img

249
Некоррентная работа searchControl в Яндекс.Карты

Некоррентная работа searchControl в Яндекс.Карты

Возник вопрос по поводу поведения searchControl

233
Узнать сколько активных пользователей JS

Узнать сколько активных пользователей JS

Узнать можно через поле isActive у каждого пользователяФункция должна посчитать сколько isActive: true

281