3 回答

TA貢獻1836條經驗 獲得超13個贊
在這種特定情況下,您甚至可以使用數組和Array#includes方法進行檢查。
if ([1, 2, 3].includes(a)) {
// your code
}
function testNum(a) {
if ([1, 2, 3].includes(a)) {
return "is 1, 2, or 3";
} else {
return "is not 1, 2, or 3";
}
}
console.log(testNum(1));
console.log(testNum(2));
console.log(testNum(4));
console.log(testNum(3));
僅供參考:在您當前的代碼(1 || 2 || 3)
結果中1
(因為1是正確的),實際上a == (1 || 2 || 3)
是a == 1
。正確的方法是使用||
(或)分隔每個條件, 例如: a == 1 || a == 2 || a ==3
。

TA貢獻2016條經驗 獲得超9個贊
你不可能有||那樣的。您使用的方法不正確。您應該使用:
function testNum(a) {
if (a == 1 || a == 2 || a == 3) {
return "is 1, 2, or 3";
} else {
return "is not 1, 2, or 3";
}
}
console.log(testNum(1));
console.log(testNum(2));
console.log(testNum(3));

TA貢獻1909條經驗 獲得超7個贊
您的操作員放置不正確:
function testNum(a) {
if (a == 1 || a == 2 || a == 3) {
return "is 1, 2, or 3";
} else {
return "is not 1, 2, or 3";
}
}
之前,您正在測試a等于的1 || 2 || 3值是否等于1?。因此,您只是在檢查a == 1哪個不是您想要的!
?本質上,當您像這樣將“或”串在一起時,將返回第一個真實值。例如,您可以為自己斷言:0 || False || 5Gives 5。
添加回答
舉報