javascript - 检查变量是否相等的语法
问题描述
想知道是否有一个选项可以优化(使其更胜任)比较的语法。
我有一个简单的代码,它通过“if - else”条件语句检查我的函数的输入。我验证变量是否等于输入之一或不使用逻辑“或”运算符。
function cc(card) {
// Only change code below this line
if (card==2 || card==3 || card==4 || card==5 || card==6) {
count+=1;
}
else if (card==7 || card==8 || card==9) {
count+=0;
}
else if (card==10 || card=="J" || card=="Q" || card=="K" || card=="A") {
count-=1;
}
else {
return "No such combination";
}
if (count>0) {
return count + " " + "Bet";
}
else {
return count + " " + "Hold";
}
// Only change code above this line
}
// Add/remove calls to test your function.
// Note: Only the last will display
cc(7); cc(8); cc(9);
我想知道我是否可以用其他语法替换这么多的“OR”运算符?我知道“切换”方法,但现在我对这种方法特别感兴趣。
解决方案
您可以使用Array.prototype.includes
:
if ([2, 3, 4, 5, 6].includes(card)) {
count += 1;
} else if ([7, 8, 9].includes(card)) {
count += 0;
} else if ([10, "J", "Q", "K", "A"].includes(card)) {
count -= 1;
}
推荐阅读
- python - Mystic 的优化和线性不等式
- python - 如何匹配正则表达式并获取先例词
- javascript - 同时设置:关注轮播和物品的变化
- django - FileNotFoundError [Errno 2] 没有这样的文件或目录:调整图像大小后
- c# - “全局”解析服务不再导致属性注入
- python - 基于linux在某个conda环境中设置环境变量
- javascript - 从 API 获取时如何存储数据
- uwp - Windows 运行时组件中未解析的外部 __imp_strdup
- c# - iOS 设备上的 Xamarin.Forms AbsoluteLayout 问题(内容不可见)
- python - 空闲编辑器中的正则表达式替换