Javascript 如何使用continue修复循环结果

Javascript 如何使用continue修复循环结果,javascript,for-loop,if-statement,Javascript,For Loop,If Statement,我尝试使用for循环回答10个带有if条件的问题。continue用于传递与条件不匹配的代码 我的目的是随机提出10个问题方程,结果应该是整数,但我的代码只给出了正确的条件,问题数量可变 当条件不满足时,它将通过当前方程,因此有时我只有5或7个问题,因为其他5或3个没有通过条件 我如何确保生成的随机方程数始终相同,以便在不满足条件的情况下,函数将重新执行随机数量的操作,最终产生10个问题 我的代码是: <body> <p>this is testing for rando

我尝试使用
for
循环回答10个带有if条件的问题。
continue
用于传递与条件不匹配的代码

我的目的是随机提出10个问题方程,结果应该是整数,但我的代码只给出了正确的条件,问题数量可变

当条件不满足时,它将通过当前方程,因此有时我只有5或7个问题,因为其他5或3个没有通过条件

我如何确保生成的随机方程数始终相同,以便在不满足条件的情况下,函数将重新执行随机数量的操作,最终产生10个问题

我的代码是:

<body>
<p>this is testing for random number meet creteria</p>

<button class = "button" onclick = "myFunction()">try me</button>

<p id = "demo">Thisis where to display question</p>

<script>
    function myFunction() {
        var quiz = "";
        var xNumber;
        var yNumber;
        var sign = ["+", "-", "*", "/"];
      
        for (var i=0; i<10; i++) {
            var xNumber = Math.floor(Math.random()*10);
            var yNumber = Math.floor(Math.random()*10);
            var randomSign = sign[Math.floor(Math.random()*sign.length)];
            var result = eval(xNumber + randomSign + yNumber);

            if (Number.isInteger(result)) {
                quiz += xNumber + randomSign + yNumber + "<br>";
            } else {
                continue;
            }
        }            
        document.getElementById("demo").innerHTML = quiz;  
    }
</script>

这是测试随机数是否符合标准

试试我

这是显示问题的地方

函数myFunction(){ var=“”; var-xNumber; var-yNumber; 变量符号=[“+”、“-”、“*”、“/”];
对于(var i=0;i将循环更改为以获取所需项目数为条件

var numQuestions = 10, counter = 0
while (counter < numQuestions) {
            var xNumber = Math.floor(Math.random()*10);
            var yNumber = Math.floor(Math.random()*10);
            var randomSign = sign[Math.floor(Math.random()*sign.length)];
            var result = eval(xNumber + randomSign + yNumber);

            if (Number.isInteger(result)) {
                quiz += xNumber + randomSign + yNumber + "<br>";
                // increment your counter here since you've added another question
                counter ++;
            } 
        } 
var numQuestions=10,计数器=0
while(计数器”;
//在这里增加你的计数器,因为你已经添加了另一个问题
计数器++;
} 
} 

您的
for
循环将精确执行10次,每次迭代都会生成一个等式或
继续
(不执行任何操作)。你不想迭代整整10次,你要迭代直到你有10个方程,这就是约翰·泰纳的答案。另外,我建议你习惯使用
let
const
而不是
var
。谢谢,我会接受你的建议,尝试不同的方法。谢谢你。约翰·t艾纳,这真的很有帮助,解决了我的问题。