javascript - 在javascript中生成带有随机数的数组

标签 javascript random

我需要创建一个数组(观察),其中包含八个数字的数组(命名为观察)。这些数字应在 0 到 9 之间。

let observations = [];
let observation = [];
let min = 0;
let max = 9;
for (let i = 0; i < 20000; i++) {
    for (let j = 0; j < 8; j++) {
        observation[j] = Math.floor(Math.random() * (max - min + 1)) + min;
    }
    observations.push(observation);
}

问题:这些数字是伪随机的,我得到了 20 000 次相同的结果。

有没有可能在 JavaScript 中解决这个问题?

最佳答案

您每次都在重复使用相同的 observation 数组,但只是在内部循环中覆盖它。所以对它的所有引用都包含上次迭代的结果。

每次外循环都需要创建一个新的observation数组。

let observations = [];
let min = 0;
let max = 9;
for (let i = 0; i < 20000; i++) {
    let observation = [];
    for (let j = 0; j < 8; j++) {
        observation.push(Math.floor(Math.random() * (max - min + 1)) + min);
    }
    observations.push(observation);
}

关于javascript - 在javascript中生成带有随机数的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52787560/

相关文章:

c++ - 为什么这个程序输出相同的结果 4 次?

java - 如何将伪随机数缩放到特定范围?

php - 如何在 php 中生成唯一随机数

java - 更改 boolean 数组中的值。选择地方而不是值(value)

javascript - 从数组中获取随机元素,显示它,然后循环 - 但从不跟随相同的元素

javascript - 如果 setInterval 被清除?

javascript - MongoDB 计数未返回正确的数字

javascript - node async 仅在 node-lambda 内部调用第一个函数

javascript - 在 sencha touch 2 中改变方向时删除类

c# - 如何避免列表重复