我正在使用 if 陳述句并試圖確保它在滿足大多數條件時停止。例如,如果我有以下代碼:
const determineLevel = () => {
const wentToKindergarten = true;
const wentToElementary = true;
const wentToHighSchool = true;
const wentToCollege = false;
if (wentToKindergarten) {
return 1;
}
if (wentToKindergarten && wentToElementary) {
return 2;
}
if (wentToKindergarten && wentToElementary && wentToHighSchool) {
return 3;
}
if (wentToKindergarten && wentToElementary && wentToHighSchool && wentToCollege) {
return 4;
}
return;
};
在這個例子中,如果一個學生上過幼兒園、小學和高中,但大學輟學了,我該如何實作?現在,它只是在它滿足的第一個條件處停止。謝謝!
uj5u.com熱心網友回復:
const determineLevel = () => {
const wentToKindergarten = true;
const wentToElementary = true;
const wentToHighSchool = true;
const wentToCollege = false;
var returnme=0;
if (wentToKindergarten) {
returnme= 1;
}
if (wentToKindergarten && wentToElementary) {
returnme= 2;
}
if (wentToKindergarten && wentToElementary && wentToHighSchool) {
returnme= 3;
}
if (wentToKindergarten && wentToElementary && wentToHighSchool && wentToCollege) {
returnme= 4;
}
return returnme;
};
編輯:或者您可能更喜歡以相反的順序放置條件,以便首先檢查最難滿足的條件。無論你喜歡什么。
uj5u.com熱心網友回復:
return 陳述句完成函式,函式將不會在它找到的第一個 return 陳述句之后執行。因此,撰寫代碼的更好方法是:
const determineLevel = () => {
var returnNumber;
const wentToKindergarten = true;
const wentToElementary = true;
const wentToHighSchool = true;
const wentToCollege = false;
if (wentToKindergarten) {
returnNumber = 1;
}
if (wentToKindergarten && wentToElementary) {
returnNumber = 2;
}
if (wentToKindergarten && wentToElementary && wentToHighSchool) {
return = 3;
}
if (wentToKindergarten && wentToElementary && wentToHighSchool && wentToCollege) {
returnNumber = 4;
}
if(returnNumber > 0)
{
return returnNumber;
}
return;
};
通過這種方式,您可以檢查所有場景,然后在最后回傳您需要的任何數字。
uj5u.com熱心網友回復:
您的代碼不適用于您的邏輯,因為您在每個 if 條件檢查中回傳一個值,這將導致函式在第一個條件變為真后停止執行。
您可以將if條件更改為else-if條件。
或者你可以有一個變數來跟蹤,
const determineLevel = () => {
const wentToKindergarten = true;
const wentToElementary = true;
const wentToHighSchool = true;
const wentToCollege = false;
let condition;
if (wentToKindergarten) {
condition= 1;
}
if (wentToKindergarten && wentToElementary) {
condition= 2;
}
if (wentToKindergarten && wentToElementary && wentToHighSchool) {
condition= 3;
}
if (wentToKindergarten && wentToElementary && wentToHighSchool && wentToCollege) {
condition= 4;
}
return condition;
};
uj5u.com熱心網友回復:
1 - 以相反的順序。
if ( wentToKindergarten
&& wentToElementary
&& wentToHighSchool
&& wentToCollege ) return 4;
if (wentToKindergarten
&& wentToElementary
&& wentToHighSchool ) return 3;
if ( wentToKindergarten
&& wentToElementary ) return 2;
if (wentToKindergarten ) return 1;
2 - 與其他一些。
if (wentToKindergarten)
if (wentToKindergarten)
if (wentToHighSchool)
if (wentToCollege) return 4
else return 3
else return 2
else return 1
else return
3 - 使用二進制表示:
let rep = 0b0000
if (wentToKindergarten) rep |= 0b0001
if (wentToElementary) rep |= 0b0010
if (wentToHighSchool) rep |= 0b0100
if (wentToCollege) rep |= 0b1000
if ( rep |= 0b0001 ) return 1
if ( rep |= 0b0011 ) return 2
if ( rep |= 0b0111 ) return 3
if ( rep |= 0b1111 ) return 4
return
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/351381.html
標籤:javascript if 语句 切换语句 布尔值 条件语句
