当前位置: 首页 > 知识库问答 >
问题:

在For循环中迭代随机数

仲学真
2023-03-14

我正在尝试使用For循环将一个随机整数(0-2)添加到一个变量中指定的次数。我遇到的问题是,循环不是每次循环时都使用一个新的随机数,所以,如果我输入9,我只能得到0、9,或者18。

我希望一个对象返回的键“a”和“b”具有不同的数值。

function randomNumber(min, max){
   min = Math.ceil(0);
   max = Math.floor(3);
   return Math.floor(Math.random() * (max - min)) + min;
}
function objMaker(cb, num){
  let obj = {
    a: 0,
    b: 0
  }
  for (var i = 0; i < num; i++) {
    obj.a += cb;
    obj.b += cb;
  }
  return obj;
}

objMaker(randomNumber(), 9)
// returns obj { a:0, b:0}
// or obj { a:9, b:9}
// or obj { a:18, b:18}

共有1个答案

韦高阳
2023-03-14

如果我没理解错的话,您希望在for循环的每次迭代中生成一个新的随机数。如果是这种情况,那么您也需要在每次迭代时调用randomNumber():

function randomNumber() {
   const min = Math.ceil(0);
   const max = Math.floor(3);
   return Math.floor(Math.random() * (max - min)) + min;
}

function objMaker(num){
  let obj = {
    a: 0,
    b: 0
  }
  for (var i = 0; i < num; i++) {
    obj.a += randomNumber();
    obj.b += randomNumber();
  }
  return obj;
}

function test() {
  console.log(objMaker(9));
}
<button id=generate onclick='test()'>generate</button>
 类似资料:
  • 在Django模板中,我想创建一个遍历列表的for循环。在循环过程中,我还希望能够使用循环的迭代次数。 例如,如果有4个元素,那么: 应打印以下内容: 我该怎么做呢?

  • 问题内容: 我在显示日期的django模板中有以下for循环。我想知道是否有可能在循环中迭代一个数字(在以下情况下为i)。还是我必须将其存储在数据库中,然后以days.day_number的形式查询? 问题答案: Django提供了它。你可以使用以下任一方法: 索引从1开始。 索引从0开始。 在模板中,你可以执行以下操作:

  • 在django模板中,我有以下for循环显示天数。我想知道是否有可能在循环中迭代一个数字(在下面的例子I中)。或者我必须将其存储在数据库中,然后以天的形式进行查询。第几天?

  • 问题内容: 似乎是一个非常基本的问题。我有一个,我想对其进行迭代。一般, 绝招。但是我的要求不是迭代,而是随机地。 问题答案: 您可以在列表中使用。 请注意,这将随机排列列表,因此,如果顺序很重要,则应制作一个副本(并随机排​​列副本)。 或者,您可以创建一个包含元素的随机数组,并使用这些元素作为索引来访问中的“随机”元素。

  • 我可以吃我的蛋糕(循环),也可以吃它(迭代所有整数)吗?

  • 问题内容: 我想了解更多有关的信息,所以如果我错了,请纠正我。 迭代器是一个对象,该对象具有指向下一个对象的指针,并作为缓冲区或流(即,链表)读取。它们特别有效,因为它们所做的只是通过引用而不是使用索引来告诉您下一步是什么。 但是我仍然不明白为什么会发生以下行为: 经过迭代器()的第一个循环后,就好像它已被消耗并且留空,因此第二个循环()不输出任何内容。 但是,我从未为变量分配新值。 循环幕后到底