У меня такой псевдокод:
switch (true) {
case (cond_1 < 0):
return 'c1 < 0';
case (cond_1 === 0):
switch (true) {
case (cond_2 < 0):
return 'c2 < 0'
case (cond_2 === 0):
return 'c2 === 0'
default:
return 'c2 > 0'
}
default:
return 'c1 > 0';
}
Есть ли лучший способ написать этот код без использования switch внутри другого оператора switch?
Эти условия if/else
более компактны, и поток легче читать:
if (cond_1 < 0) return 'c1 < 0';
if (cond_1 === 0) {
if (cond_2 < 0) return 'c2 < 0';
if (cond_2 === 0) return 'c2 === 0';
if (cond_2 > 0) return 'c2 > 0';
}
return 'c1 > 0';
Здесь вы должны использовать условия if / else. На самом деле
switch
предназначен не для этого.