如何获取while循环以将其结果存储在数组中,并重复10次?

利亚姆·温特顿(Liam Winterton)

我已经看到了堆栈上与其他问题相关的链接,但老实说,它们的格式都是我这样的JavaScript新手无法理解的。

var currentMMR = 3330;
var desiredMMR = 4000;
var playerWinrate = 50;

var array = [];

function calculate() {
    //Gets the amount of games you need to win
    var gamesToWin = (desiredMMR - currentMMR) / 25;

    var gamesToPlay = 0;
    var progress = currentMMR;
    var endgoal = desiredMMR;

    var numbersInArray = 0;

    while(numbersInArray < 10) {
        while(progress < endgoal) {
            if(getRandomNumber() >= playerWinrate) {
                gamesToPlay = gamesToPlay +1;
                progress = progress + 25;
            } else {
                gamesToPlay = gamesToPlay +1;
                progress = progress - 25;
            }   
        }
        array.push(gamesToPlay);
        numbersInArray++;
    }

    alert(numbersInArray);
}

//Creates a random number between 1-100
function getRandomNumber() {
    var randomNumber = Math.floor((Math.random() * 100) + (playerWinrate/10));
    return randomNumber;
}

到目前为止,我所做的是创建一个while循环,该循环从上面的变量获取数字,使用1到100之间的随机数进行一些计算,然后返回该数字。

while(progress < endgoal) {
    if(getRandomNumber() >= playerWinrate) {
        gamesToPlay = gamesToPlay +1;
        progress = progress + 25;
    } else {
        gamesToPlay = gamesToPlay +1;
        progress = progress - 25;
    }   
}

试图让它在每次运行后都存储其编号,并且只重复执行10次

while(numbersInArray < 10) {
    while(progress < endgoal) {
        if(getRandomNumber() >= playerWinrate) {
            gamesToPlay = gamesToPlay +1;
            progress = progress + 25;
        } else {
            gamesToPlay = gamesToPlay +1;
            progress = progress - 25;
        }   
    }
    array.push(gamesToPlay);
    numbersInArray++;
}

当我提醒阵列进行测试时,我得到10个数字,但它们都是相同的。

我如何使原始的while循环存储重复并存储其他变量。

杰米茨

while循环内部,您需要重置几个变量。

while(numbersInArray < 10) {
    gamesToPlay = 0;
    progress = currentMMR;
    ....

否则,内部while循环已经设置了退出条件,您将获得与上一次迭代相同的结果。

实时示例:http//jsfiddle.net/o8ecndas/2/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将 for 循环的结果存储在数组中

当在mysql中获取数据并将其存储在数组中然后内爆使其显示在我的jquery数据表中时,如何正确使用for循环?

如何从openCV函数中获取最大轮廓,以便将其存储在数组中

如何从表中获取随机行值并将其存储在数组中以分别调用

如何从对象中的所有键获取特定值并将其存储在数组中?

Codeigniter:如何从数组中获取数据并将其存储在数据库中

如何获取在 SwiftUI TextEditor 中输入的字符串并将其存储在数组中?

如何获取输入字段的值并将其存储在数组中

如何从单个文本框中获取多个值并将其存储在数组中以及如何将其存储在数据库中

循环10天并将每个日期存储在数组中

如何获取循环结果并将其转换为Python中的数组/列表?

如何在数组列表中获取结果集的结果?

如何使用循环将名称存储在数组中?

如何获取存储在数组中的类中的值?

R循环将t.tests的重复结果存储在数据框中

如何从DataSet中的DataTable存储中检索数据并将其存储在数组中?

如何使用 Ionic 2 在数组中获取 json 结果?

在数组中重复N次

如何获取存储在数组中的大数值的模数?

在数组中存储 .Find 结果

结果值存储在数组或 json 中

从字符串中获取数字作为模式并将其存储在数组中

Laravel通过用户模型中的ID获取用户并将其存储在数组中

在数组中查找重复项的JavaScript函数将结果打印两次。怎么修?

android - 从edittext获取字符串并将其存储在数组中

从Web服务获取数据并将其存储在数组列表中

如何计算数组中的重复值并存储在数组中

PHP / MYSQL 循环仅迭代一次,无法将数据存储在数组中

在java中从db获取时将结果集存储在数组中?