【问题标题】:Writing a function using switch case statement beginner javascript使用switch case语句初学者javascript编写函数
【发布时间】:2020-10-24 15:15:39
【问题描述】:
function hardTotals(dealersCard, myTotal){
switch(dealersCard, myTotal){

case 7 || 8 || 9 || 10 || "A", 16 || 15 || 14:
    return "Hit";
    break;
   }
}
var text = hardTotals(9, 14);
console.log(text);\'''

我正在尝试构建一个基本的二十一点算牌器。我正在使用 switch case 语句来告诉程序按照基本策略图表做什么。这是我的功能hard Totals的一部分,我想说这些卡是否是经销商卡并且这些卡是我的总回报命中。这是返回未定义。我不确定为什么。我对 JS 很陌生,所以任何建议都值得赞赏。谢谢。

【问题讨论】:

  • 请为想要的结果添加一些用例。
  • switch 只接受一个参数?通常,当您希望在多个案例中发生一件事时,您只需让案例在中断之前下降到单个案例
  • 是的,case "A", 16: 没有意义
  • 我还是一头雾水?如果插入 text = hardTotals("A", 16);它返回命中。如果由于某种原因插入 9、14,它会返回 undefined。
  • 用例是使用 21 点的基本策略图表并实现一个函数,我可以将函数 (param1, param2) 放入其中,它会根据 2 个数字告诉我要执行的操作。我不确定我是否可以链接到外部网站,但这是我指的图表:blackjackapprenticeship.com/blackjack-strategy-charts

标签: javascript function switch-statement


【解决方案1】:
function hardTotals(dealersCard, myTotal){
switch(dealersCard, myTotal){

case 7 || 8 || 9 || 10 || "A", 16 || 15 || 14: //problem
    return "Hit";
    break;
   }
}
var text = hardTotals(9, 14);
console.log(text);

大家好,找到解决方案了。出于某种原因,switch 语句将接受 2 个参数,但仅接受第二个参数的 1 个参数可能性。 所以看起来是因为 14 是它返回未定义的第二个参数的第三个选项。这将是使用 15 的相同输出。不过,16 适用于所有 param1 参数。谢谢大家。如果有人知道更有效的方法,我会很乐意提供建议。

【讨论】:

  • 逗号运算符。这看起来像是数字比较,而不是开关,其中 ace 可以是 1 或 11,但这需要另一个条件。
猜你喜欢
  • 1970-01-01
  • 2013-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-12
  • 2023-03-26
  • 1970-01-01
相关资源
最近更新 更多