Показать сообщение отдельно
  #5 (permalink)  
Старый 20.05.2020, 13:41
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от farikweb
Симферополь не всегда в условии поэтому нужно проверять.
Для изменения цены по вашим условиям всегда. То есть:

1) Определили цену как сумму двух полей.
2) Получили значения проверяемых полей.
3) Если в полученном есть значение Симферополь, то проверяем второе значение: если оно равно Алушта, то цену определяем равной 2000 и если более нет городов, то иначе 1000. Иначе проверяем и на Коктебель.
4) Иначе цена остается ранее определенной.

let price = 500, //цена по значениям двух полей  
    check = 'Симферополь',
    values = [check, 'b']; //значения проверяемых полей как массив 

if(values.includes(check)){
    values = values.filter(v => v !== check).pop();
    price = values == 'b' ? 2000 : values == 'c' ? 1000 : price;
}

console.log(price);

Последний раз редактировалось laimas, 20.05.2020 в 14:26.
Ответить с цитированием