Тернарный оператор
Не уверен, что пишу по адресу, но надеюсь, что кто-то подскажет.
В коде скрипта на 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, время: 06:54. |