3 回答

TA貢獻(xiàn)1111條經(jīng)驗(yàn) 獲得超0個(gè)贊
您可以將語(yǔ)句包裝在一個(gè)函數(shù)中,它會(huì)更干凈一點(diǎn):
if(X == x && A == a){
do_A();
}
else if (X == x && A == b){
do_B();
}
else if (X != x && A == a){
do_C()
}
else if (X !=x && A == b){
do_D()
}
會(huì)成為 :
const doSomething = () => {
if (X == x && A == a) return do_A();
if (X == x && A == b) return do_B();
if (X != x && A == a) return do_C();
if (X !=x && A == b) return do_D();
};
doSomething();

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個(gè)贊
你可以使用 switch 語(yǔ)句,像這樣: switch(expression) { case x: // code block break; case y: // 代碼塊中斷;默認(rèn)值:// 代碼塊 } 但是您不會(huì)擁有@jcubic 提到的更高效的代碼

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超5個(gè)贊
一個(gè)可能的解決方案是使用switch-case如下語(yǔ)句:
switch(X + "|" + A) {
case x + "|" + a:
...
break;
case y + "|" + a:
break;
case z + "|" + c:
break;
case zz + "|" + d:
break;
}
我不知道您是否認(rèn)為這種寫(xiě)作風(fēng)格對(duì)您來(lái)說(shuō)更好看,但它的效率低于您在問(wèn)題中提出的那種,因?yàn)槟仨氃诒容^它們之前加入字符串。
添加回答
舉報(bào)