javascript - 如何在 JavaScript 中创建具有多个条件的 while 循环?

标签 javascript random while-loop multiple-conditions

我正在尝试创建一个扑克程序,该程序将生成一手 5 张随机牌。我遇到的一个问题是该程序偶尔会生成同一张卡两次。

我想到的解决此问题的最佳方法是实现一个如下所示的 while 循环。

while (randFace == randFace2 && randSuit == randSuit2) || (randFace2 == randFace3 && randSuit2 == randSuit3) { 

randSuit2 = Math.round(Math.random()*3);                    
randFace2 = Math.round(Math.random()*13);   

}

这会破坏 while 循环的语法并拒绝运行。

有没有办法创建一个类似于上面的 while 循环,具有许多复杂的条件......只有一个在语法上有效?

谢谢!

最佳答案

是的,添加更多括号。

while ((randFace == randFace2 && randSuit == randSuit2) || (randFace2 == randFace3 && randSuit2 == randSuit3))  {
    // Do whatever
}

while 循环将测试紧跟在 while 关键字后面的括号中的所有内容。您可以使用更多括号或您喜欢的任何运算符在这些括号内无限嵌套条件,只要这些括号中的内容可以被评估为 true 或 false。

关于javascript - 如何在 JavaScript 中创建具有多个条件的 while 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15975147/

相关文章:

java - jqplot条形图的多维数组

javascript - 通过从 PHP 传入数组来填充 Java 脚本中的项目及其值的数组

c++ - RAND_MAX 和 UINT_MAX 之间的差异会有所不同吗?

c++ - 设置种子 boost::随机

javascript - 单击其他位置在 jquery 中不起作用

c++ - 有放回的随机抽样

javascript - 我的代码没有加载(卡在 do/while 循环?)

javascript - 有没有办法将字符串推到数组中每个元素的末尾(我必须使用 while 循环?

c - 如何使用 C 预处理器编写 while 循环?

javascript - AngularJs - ng-options 在 ajax 调用后不绑定(bind)