gpt4 book ai didi

javascript - 非重复随机数选择器

转载 作者:行者123 更新时间:2023-11-28 14:51:51 24 4
gpt4 key购买 nike

我正在尝试创建一个非重复的随机数选择器,有人可以指出它出了什么问题吗?谢谢

var resultArray = [];

function pickRandom(){
var min = parseInt(document.getElementById("min").value);
var max = parseInt(document.getElementById("max").value);
var result = Math.floor((Math.random() * max) + min);

resultArray.push(result);

for (var i = 0; i < resultArray.length; i++){
if(resultArray[i].includes(result))
{
pickRandom();
} else {
document.getElementById("result").value = result;
}
}
}

最佳答案

将其更改为:

var resultArray = [];
function pickRandom(){
var min = parseInt(document.getElementById("min").value);
var max = parseInt(document.getElementById("max").value);
var result = Math.floor((Math.random() * max) + min);
if(resultArray.includes(result))
{
pickRandom();
} else {
resultArray.push(result);
document.getElementById("result").value = result;
}
}

您的代码有 2 个问题:
1.你先将新元素压入数组,然后检查它是否在数组中,所以它总是返回true。这会导致无限循环。
2. 定义includes方法来检查数组中是否存在元素或字符串中是否存在字符。在您的代码中,您已经迭代了数组中的每个元素,然后使用了 include 方法。

关于javascript - 非重复随机数选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44176606/

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