JavaScript 生成 50 个不重复的随机数
javascript to generate 50 no-repeat random numbers
我想使用 javascript 生成 50 个不重复的随机数,并且该数字在 1 到 50 的范围内。存储在数组中的 50 个数字。
首先生成一个有序列表:
var i, arr = [];
for (i = 0; i < 50; i++) {
arr[i] = i + 1;
}
然后洗牌。
arr.sort(function () {
return Math.random() - 0.5;
});
我测试了上述方法,效果很好。但是,ECMAScript 规范并不要求以此方法生成真正随机列表的方式实现Array.sort
- 因此,虽然它现在可能有效,但结果可能会在没有警告的情况下发生变化。下面是 Fisher-Yates shuffle 的实现,它不仅保证产生合理的随机分布,而且比劫持的排序更快。
function shuffle(array) {
var p, n, tmp;
for (p = array.length; p;) {
n = Math.random() * p-- | 0;
tmp = array[n];
array[n] = array[p];
array[p] = tmp;
}
}
相关文章:
- 生成随机数10次
- 在JavaScript中生成和检查随机数
- 在数组中生成随机数,没有任何重复的数字
- 随机数组生成时出现意外行为
- 生成一个最多50的随机数.让用户使用JavaScript猜测该随机数的5倍
- 使用 javascript/jQuery 将随机数生成到文本输入中
- Javascript-在没有循环的情况下生成多个随机数
- 如何在javascript中生成任意四个数字之间的随机数
- 将生成的随机数存储在变量中,然后将该变量作为文件名调用以显示图像.Javascript
- 如何从生成随机数的数组中确定最高和最低数字;JavaScript
- 如何在Javascript中生成偏斜的随机数
- 使用javascript生成唯一的随机数
- 反应.js生成新的随机数
- JavaScript生成随机数
- Javascript:在范围内生成随机数,避免前两个
- 创建使用用户输入的数字范围生成的随机数.(JavaScript)
- 生成随机数并将其放置在图像URL中
- Javascript - 在一定范围内生成随机数,不包括某些数字
- 生成随机数 Jquery
- 随机数生成奇怪的输出