gpt4 book ai didi

javascript - 如何从 javascript 中的 Math.random 获取唯一数字?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:02:57 24 4
gpt4 key购买 nike

当我在循环中调用此语句 4 次时,它会给我重复的随机数。

var a = (parseInt(Math.random() * 4))+1

例如,有时它会给出 1、3、2、4(好!!),但有时它会产生 1、3、1、4 等。

我如何确保当我的循环运行 4 次时,我每次都得到唯一的集合

最佳答案

洗牌一个预填充的数组将是一个很好的解决方案:

→ jsBin.com

// shuffle function taken from here
// http://stackoverflow.com/a/2450976/603003
alert( shuffle( [1,2,3,4] ) );

另一个方法包含以下函数:

→ jsFiddle

function gen4Numbers() {
var numbers = [];
while (numbers.length < 4) {
var newNr = (parseInt(Math.random() * 4))+1;
if (numbers.indexOf(newNr) == -1) {
numbers.push(newNr);
}
}
return numbers;
}
alert(gen4Numbers());

你应该被警告,这段代码很可能会永远循环。

关于javascript - 如何从 javascript 中的 Math.random 获取唯一数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19466435/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com