Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/413.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取递归过程的每个返回值_Javascript_Algorithm - Fatal编程技术网

Javascript 获取递归过程的每个返回值

Javascript 获取递归过程的每个返回值,javascript,algorithm,Javascript,Algorithm,我想在递归过程中将递归函数的返回值赋给变量。我正在尝试实现递归随机数生成器,希望在过程停止之前保存该过程返回的每个值。我不知道怎么做 rand函数(seed,m,inc,mod) { 如果(种子==0) 返回2; 其他的 返回值(m*rand(seed-1,m,inc,m)+inc)%mod; } 您需要一些存储桶来存储其中的值 function rand(depth, m, inc, mod, bucket=[]) { let nextStep = 2; if(depth !== 0

我想在递归过程中将递归函数的返回值赋给变量。我正在尝试实现递归随机数生成器,希望在过程停止之前保存该过程返回的每个值。我不知道怎么做

rand函数(seed,m,inc,mod)
{
如果(种子==0)
返回2;
其他的
返回值(m*rand(seed-1,m,inc,m)+inc)%mod;
}

您需要一些存储桶来存储其中的值

function rand(depth, m, inc, mod, bucket=[]) {
  let nextStep = 2;

  if(depth !== 0) {
    nextStep = (m * rand(depth-1, m, inc, m, bucket) + inc) % mod;
  }

  bucket.push(nextStep);
  return bucket;
}

// somewhere else
const generatedRandomValues = rand(a, b, c, d);
const randomValue = generatedRandomValues[-1];

PS:考虑使用中间变量使代码的意图更清晰(比如讲故事)

< P>你需要一些桶来存储这些值。

function rand(depth, m, inc, mod, bucket=[]) {
  let nextStep = 2;

  if(depth !== 0) {
    nextStep = (m * rand(depth-1, m, inc, m, bucket) + inc) % mod;
  }

  bucket.push(nextStep);
  return bucket;
}

// somewhere else
const generatedRandomValues = rand(a, b, c, d);
const randomValue = generatedRandomValues[-1];

PS:考虑使用中间变量使代码的意图更清晰(比如讲故事)

你有没有调用函数和想要的结果有没有保存值?你有函数的调用和有没有保存值的结果吗?