gpt4 book ai didi

javascript - 为什么当我输入匹配的数组编号时,它们与数组不匹配

转载 作者:行者123 更新时间:2023-11-29 23:04:40 25 4
gpt4 key购买 nike

我创建了一个彩票猜谜游戏。用户将尝试通过在提示中输入 6 个数字来猜测中奖号码。如果用户猜对了所有 6 个数字,将显示一个警告框,上面写着“恭喜你发财了”。但是,当我正确输入所有 6 个号码时,我不断收到“抱歉,请重玩”消息。我做错了什么?谢谢,我正在自学编码。

<!DOCTYPE html>
<html>
<head>
<title>Winning lottery numbers</title>
</head>
<body>
<script type="text/javascript">

var GuessNum = [];
GuessNum.join(', ');
var winningNumbers = [1, 19, 25, 27, 68, 21];
winningNumbers.join(', ');

for (var i = 0; i < 6; i++) {
GuessNum.push(prompt('Enter loto numbers ' + (i+1)));
}

if(winningNumbers.includes(GuessNum)) {
alert("Congratulations you're rich");
} else {
alert("Sorry play again");
}


</script>

</body>
</html>

最佳答案

您的代码的问题在于,当您执行 .includes() 时,您将整个数组传递给它。由于 winningNumbers 不包含完整数组,因此它是错误的。

无论如何。要解决您的问题,您需要 .forEach()循环遍历 winningNumbers 并检查 GuessNum 是否包含该值。

您必须执行 e.toString() 因为 prompt 的结果是一个字符串,所以尽管所有数字可能相同,但一个是字符串,一个是一个整数。

var GuessNum = []; 
GuessNum.join(', ');
var winningNumbers = [1, 19, 25, 27, 68, 21];
winningNumbers.join(', ');
var sameArray = true;

for (var i = 0; i < 6; i++) {
GuessNum.push(prompt('Enter loto numbers ' + (i+1)));
}

winningNumbers.forEach(e => {
if (!GuessNum.includes(e.toString())) {
sameArray = false;
}
});

if(sameArray) {
alert("Congratulations you're rich");
} else {
alert("Sorry play again");
}

关于javascript - 为什么当我输入匹配的数组编号时,它们与数组不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54994520/

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