gpt4 book ai didi

javascript - JavaScript 上的不同随机字符串锦标赛匹配

转载 作者:行者123 更新时间:2023-12-02 22:17:06 25 4
gpt4 key购买 nike

您需要在 JavaScript 中使用外部输入的字符串创建一个数组,并以 2×2 的方式打印它们,前提是串联的数组不同。我尝试了这段代码,但随机数是相同的。无法帮助请。我应该将输入与数组匹配。

<!DOCTYPE html>
<html>
<head>
<script>
function isim(){
var myArray = ["Name1", 'Name2', 'Name3', 'Name4'];

var rand = myArray[(Math.random() * myArray.length) | 0]
var rand2 = myArray[(Math.random() * myArray.length) | 0]
var rand3 = myArray[(Math.random() * myArray.length) | 0]
var rand4 = myArray[(Math.random() * myArray.length) | 0]

document.getElementById("sonuc1").innerHTML = rand;
document.getElementById("sonuc2").innerHTML = rand2;

document.getElementById("sonuc3").innerHTML = rand3;
document.getElementById("sonuc4").innerHTML = rand4;
}
</script>
</head>
<body>
<center>

<h1>Match</h1>

<form>
<input name="isim[1]" placeholder="Name1"> <br><br>

<input name="isim[2]" placeholder="Name2"><br><br>

<input name="isim[3]" placeholder="Name3"><br><br>

<input name="isim[4]" placeholder="Name4"><br><br>

<input type="button" value="Match" onclick="isim()">
</form>

<p id="sonuc1"></p>
<p id="sonuc2"></p>
<br><br>
<p id="sonuc3"></p>
<p id="sonuc4"></p>

</center>
</body>
</html>

最佳答案

如果每次都从数组中随机选择一个项目,则可以多次选择相同的数组条目。为了确保 rand1 到 rand4 是唯一的,您必须从数组中删除已选取的项目,或防止通过其他方式选取它。一种方法是打乱数组并 popshift 随机条目,如下所示:

<!DOCTYPE html>
<html>
<head>
<script>
function shuffle(a) {
for (let i = a.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[a[i], a[j]] = [a[j], a[i]];
}
return a;
}

function isim(){
var myArray = ["Name1", 'Name2', 'Name3', 'Name4'];

shuffle(myArray);

var rand = myArray.pop();
var rand2 = myArray.pop();
var rand3 = myArray.pop();
var rand4 = myArray.pop();

document.getElementById("sonuc1").innerHTML = rand;
document.getElementById("sonuc2").innerHTML = rand2;

document.getElementById("sonuc3").innerHTML = rand3;
document.getElementById("sonuc4").innerHTML = rand4;
}
</script>
</head>
<body>
<center>

<h1>Match</h1>

<form>
<input name="isim[1]" placeholder="Name1"> <br><br>

<input name="isim[2]" placeholder="Name2"><br><br>

<input name="isim[3]" placeholder="Name3"><br><br>

<input name="isim[4]" placeholder="Name4"><br><br>

<input type="button" value="Match" onclick="isim()">
</form>

<p id="sonuc1"></p>
<p id="sonuc2"></p>
<br><br>
<p id="sonuc3"></p>
<p id="sonuc4"></p>

</center>
</body>
</html>

关于javascript - JavaScript 上的不同随机字符串锦标赛匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59355536/

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