首页 > 解决方案 > 您如何保存随机生成的数字的值以在不同的函数中调用?

问题描述

如何保存随机数生成器函数的输出以在不同的函数中调用?

例如,在下面的代码中,我将使用function randNum()来掷骰子并将函数return的值作为变量。wsaveDiceNumber()

然后我将从函数接收到的第一个值保存到位于randNum()函数中的新变量中。然后我想对变量和重复该过程,而不会丢失 的新创建值。xsaveDiceNumber()yzx

所以本质上,我想创建一个函数,它使用相同的随机数生成器来创建 3 个不同的变量,然后调用这些变量的值,而无需重新生成/重新滚动随机数。


随机数生成器函数:

function randNum(){
    return Math.floor(Math.random()*6); 
}

应保存 RNG 输出的函数:

function saveDiceNumber(){
    var w = randNum(); //roll the dice for the first permanent value

    var x = randNum(); //second output of dice
    var y = randNum(); //third output of dice
    var z = randNum(); //forth output of dice

    pickFruit(x);
    }

saveDiceNumber()将使用的输出:

   function pickFruit(letter){

       switch(letter){
       case(1):
       console.log("Apples");
       break;
       case(2):
       console.log("Pears");
       break;
       case(3):
       console.log("Bananas");
       break;
       case(4):
       console.log("Mangos");
       break;
       case(5):
       console.log("Pineapples");
       break;
       case(6):
       console.log("Avacados");
       break;
}

打字:saveDiceNumber()每次都会控制台记录不同的水果,即使功能pickFruit(x)相同。

我需要变量的值x永久等于函数=的一次使用生成的值randNum()

因此,如果我掷出 3,则x需要永久等于 3。

标签: javascriptvariablesrandomsave

解决方案


抱歉,如果这个问题理解起来非常混乱。我通过执行以下操作设法解决了我需要的问题:

//global variables
        var x = randNum1();
        var y = randNum2();
        var z = randNum3();

function randNum1(){
    return Math.floor(Math.random()*6); 
}

function randNum2(){
    return Math.floor(Math.random()*6); 
}

function randNum3(){
    return Math.floor(Math.random()*6); 
}

pickFruit(x);
pickFruit(y);
pickFruit(z);

推荐阅读