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

javascript - js在遍历中使用Math.random()函数生成的数据是相同的,如何解决?

穆铭晨
2023-05-03

image.png
在这里el.expect和practical的值是相同的,怎么样让这两次随机数生成的值不同?
常试过的方法:抽出来分别写函数调用,结果还是相同的。

共有2个答案

姬乐池
2023-05-03
const randomInfo = (num) => {
  const expect = [];
  const practical = [];
  const stackedInfo = new Array(num).fill(null);

  stackedInfo.forEach((el, index) => {
    el = {};
    el.expect = (Math.random() * num).toFixed(2);
    expect.push(el.expect);

    do {
      el.practical = (Math.random() * num).toFixed(2);
    } while (el.practical === el.expect);

    practical.push(el.practical);
    stackedInfo[index] = el;
  });

  return stackedInfo;
};

华凯捷
2023-05-03

你第二个push的也是expect,你看看

 类似资料:
  • 本文向大家介绍使用js Math.random()函数生成n到m间的随机数字,包括了使用js Math.random()函数生成n到m间的随机数字的使用技巧和注意事项,需要的朋友参考一下 摘要: 本文讲解如何使用js生成n到m间的随机数字,主要目的是为后期的js生成验证码做准备。 Math.random()函数返回0和1之间的伪随机数,可能为0,但总是小于1,[0,1) 生成n-m,包含n但不包含

  • 本文向大家介绍JavaScript中用于生成随机数的Math.random()方法,包括了JavaScript中用于生成随机数的Math.random()方法的使用技巧和注意事项,需要的朋友参考一下  此方法返回0(含)和1(不包括)之间的随机数 语法 下面是参数的详细信息:     NA 返回值: 返回0(含)和1(不包括)之间的随机数 例子: 这将产生以下结果:

  • 问题内容: 下面的代码旨在生成间隔为[1,100]的五个伪随机数的列表。我为with设置了种子,它以unix时间返回系统时间。当我使用Microsoft Visual Studio 2013在Windows 7上编译并运行该程序时,它会按预期运行(请参阅下文)。但是,当我在Arch Linux中使用g ++编译器执行此操作时,它的行为就很奇怪。 在Linux中,每次将生成5个数字。每次执行后4个数

  • 熊猫 我有两个数据帧,想做一个嵌套循环。 我想迭代df1中的每一行,并选择col1(id)和col2。 然后,它将获取ID并遍历df2,检查行是否具有相同的ID,然后将df1中的列与df2中的列进行比较 如果df1中的col2与df2中的col3匹配,它将返回True并将其追加到df1的行中。

  • 问题内容: 如何使用Math.random生成随机整数? 我的代码是: 它显示的全部是0,我该如何解决? 问题答案: 将abc转换为整数。

  • 本文向大家介绍JS中生成随机数的用法及相关函数,包括了JS中生成随机数的用法及相关函数的使用技巧和注意事项,需要的朋友参考一下 先为大家介绍一些关于随机数的相关函数: var Rand = Math.random(); 1.Math.random(); 结果为0-1间的一个随机数(包括0,不包括1) 2.Math.floor(num); 参数num为一个数值,函数结果为num的整数部分。 3.Ma