Множественное короткое условие if else

#javascript #algorithm #if-statement #button #conditional-statements

#javascript #алгоритм #if-оператор #кнопка #условные операторы

Вопрос:

Я пытаюсь реализовать множественное короткое условие if else в Javascript. Я хочу изменить цвет кнопки ticket в зависимости от ее статуса:

customer.status === "Solved" ? "success" : "warning"

Но у меня есть 3 статуса для 1 билета. Я хочу проверить статус запроса, когда он «Закрыт», и изменить кнопку запроса на «опасность»

customer.status === "Solved" amp;amp; !== "Closed" ? "success" : "warning" что-то вроде этого, но это не работает. Есть ли какой-нибудь способ, как это сделать?

Комментарии:

1. Не сокращайте свой код разработки, пусть это сделает минификатор при передаче кода в производство.

Ответ №1:

Вы могли бы взять объект для различных состояний и использовать свойство по умолчанию для наличия состояния для несоответствующих состояний.

 const
    states = { Solved: 'success', Closed: 'danger', default: 'warning' },
    state = states[customer.status] || states.default;
  

Комментарии:

1. Спасибо, это тоже была идея, но я хотел добавить больше условий, поэтому я выбрал вспомогательную функцию лучше

Ответ №2:

Я бы просто преобразовал это во вспомогательную функцию.

 function getClassNameForCustomerStatus(customer) {
  if(customer.status === "Solved") {
    return "success";
  }
  if(customer.status !== "Closed") {
    return "success";
  }
  return "warning";
}
  

Комментарии:

1. Я использовал этот метод, потому что хотел добавить больше условий, чтобы он работал сейчас, спасибо