Тернарный оператор
Не уверен, что пишу по адресу, но надеюсь, что кто-то подскажет.
В коде скрипта на NodeJS есть строка с условием: const user = order.shippingMethod === 'wbfbs' ? 'sales' : 'lg'; Добавилось еще одно значение и решили дополнить условие через "или": const user = order.shippingMethod === 'aliexpress' || 'wbfbs' ? 'sales' : 'lg'; Но ничего не поменялось. Почему? Как правильно задать условие для выбора 'sales', если order.shippingMethod равен 'wbfbs' или 'aliexpress'? |
Цитата:
|
спасибо, пробуем.
|
rashhin,
const user = (order.shippingMethod === 'aliexpress' ||order.shippingMethod ==='wbfbs') ? 'sales' : 'lg'; |
чтото ни так - ни так не срабатывает(
'wbfbs' - правильно 'aliexpress' - не срабатывает |
rashhin,
что не так? const user = order => (order.shippingMethod === 'aliexpress' ||order.shippingMethod ==='wbfbs') ? 'sales' : 'lg'; alert([{shippingMethod : 'aliexpress'}, {shippingMethod : 'test'}, {shippingMethod : 'wbfbs'}].map(user)); |
Так компактнее:
var user = order => ['aliexpress', 'wbfbs'].indexOf(order.shippingMethod) >= 0 ? 'sales' : 'lg'; alert([{shippingMethod : 'aliexpress'}, {shippingMethod : 'test'}, {shippingMethod : 'wbfbs'}].map(user)); Особенно, если строк для сравнения станет больше. |
Цитата:
.includes(order.shippingMethod) |
рони,
да, но поддержка браузерами похуже: https://caniuse.com/array-includes |
Часовой пояс GMT +3, время: 10:07. |