Преобразование Javascript тернарной функции в простую функцию - PullRequest
0 голосов
/ 09 июля 2020

У меня есть тернарная функция

const resetCompletion = completed < 0 ? 0 : completed > 100 ? 100 : completed;

Мне нужно преобразовать ее в простую функцию блока if else if else. Каким должен быть правильный путь?

Ответы [ 2 ]

1 голос
/ 09 июля 2020

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

const resetCompletion = completed => {
  if (completed < 0) {
    return 0;
  }
  if (completed > 100) {
    return 100;
  }
  return completed;
};

let completed = 101;
console.log(resetCompletion(completed));

completed = -100;
console.log(resetCompletion(completed));

completed = 10;
console.log(resetCompletion(completed));
1 голос
/ 09 июля 2020

Его можно расширить до следующего вида:

let resetCompletion = completed;

if (completed < 0) { resetCompletion = 0; }
else if (completed > 100) { resetCompletion = 100; }

Что означает "По умолчанию resetCompletion равно completion. Однако, если completed меньше нуля , тогда resetCompletion равно нулю, иначе, если completed больше 100, тогда resetCompletion равно 100 "

...