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。
添加回答
举报