Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.04.2022, 12:58
Новичок на форуме
Отправить личное сообщение для rashhin Посмотреть профиль Найти все сообщения от rashhin
 
Регистрация: 29.03.2022
Сообщений: 8

Тернарный оператор
Не уверен, что пишу по адресу, но надеюсь, что кто-то подскажет.
В коде скрипта на NodeJS есть строка с условием:

const user = order.shippingMethod === 'wbfbs' ? 'sales' : 'lg';


Добавилось еще одно значение и решили дополнить условие через "или":

const user = order.shippingMethod === 'aliexpress' || 'wbfbs' ? 'sales' : 'lg';


Но ничего не поменялось. Почему? Как правильно задать условие для выбора 'sales', если order.shippingMethod равен 'wbfbs' или 'aliexpress'?
Ответить с цитированием
  #2 (permalink)  
Старый 13.04.2022, 13:20
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Сообщение от rashhin
'aliexpress' || 'wbfbs'
(в скобки круглые обернуть это)
Ответить с цитированием
  #3 (permalink)  
Старый 13.04.2022, 13:34
Новичок на форуме
Отправить личное сообщение для rashhin Посмотреть профиль Найти все сообщения от rashhin
 
Регистрация: 29.03.2022
Сообщений: 8

спасибо, пробуем.
Ответить с цитированием
  #4 (permalink)  
Старый 13.04.2022, 13:39
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

rashhin,
const user = (order.shippingMethod === 'aliexpress' ||order.shippingMethod ==='wbfbs') ? 'sales' : 'lg';
Ответить с цитированием
  #5 (permalink)  
Старый 13.04.2022, 14:17
Новичок на форуме
Отправить личное сообщение для rashhin Посмотреть профиль Найти все сообщения от rashhin
 
Регистрация: 29.03.2022
Сообщений: 8

чтото ни так - ни так не срабатывает(
'wbfbs' - правильно
'aliexpress' - не срабатывает
Ответить с цитированием
  #6 (permalink)  
Старый 13.04.2022, 14:28
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

rashhin,
что не так?
const user = order => (order.shippingMethod === 'aliexpress' ||order.shippingMethod ==='wbfbs') ? 'sales' : 'lg';
alert([{shippingMethod : 'aliexpress'}, {shippingMethod : 'test'}, {shippingMethod : 'wbfbs'}].map(user));
Ответить с цитированием
  #7 (permalink)  
Старый 13.04.2022, 15:21
Аватар для Белый шум
Профессор
Отправить личное сообщение для Белый шум Посмотреть профиль Найти все сообщения от Белый шум
 
Регистрация: 19.01.2012
Сообщений: 505

Так компактнее:
var user = order => ['aliexpress', 'wbfbs'].indexOf(order.shippingMethod) >= 0 ? 'sales' : 'lg';
alert([{shippingMethod : 'aliexpress'}, {shippingMethod : 'test'}, {shippingMethod : 'wbfbs'}].map(user));

Особенно, если строк для сравнения станет больше.
Ответить с цитированием
  #8 (permalink)  
Старый 13.04.2022, 15:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

Сообщение от Белый шум
.indexOf(order.shippingMethod) >= 0
можно
.includes(order.shippingMethod)
Ответить с цитированием
  #9 (permalink)  
Старый 13.04.2022, 15:54
Аватар для Белый шум
Профессор
Отправить личное сообщение для Белый шум Посмотреть профиль Найти все сообщения от Белый шум
 
Регистрация: 19.01.2012
Сообщений: 505

рони,
да, но поддержка браузерами похуже: https://caniuse.com/array-includes
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Тернарный оператор при выводе API данных DVV Элементы интерфейса 31 26.10.2019 18:23
Почему некорректно работает оператор instanseof? FunnyCat Общие вопросы Javascript 3 29.08.2018 18:05
Тернарный оператор в цикле? 1Dmitry Элементы интерфейса 1 18.06.2013 16:54
Чем отличается составной оператор от литерала объекта? rgl Общие вопросы Javascript 10 26.02.2013 22:38
Оператор && и его не понимание volkovics Общие вопросы Javascript 9 24.05.2012 00:15