我创建了一个彩票猜谜游戏。用户将通过在提示中输入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>
答案 0 :(得分:1)
您的代码存在的问题是,当您执行Set-Location
时,您正在将整个数组传递给它。由于.includes()
不包含完整的数组,因此它将为false。
无论如何。要解决您的问题,您将需要一个.forEach()
循环来遍历winningNumbers
并检查winningNumbers
是否包含该值。
您必须执行GuessNum
,因为e.toString()
的结果是一个字符串,因此尽管所有数字都可以相同,但一个字符串和一个整数。
prompt
答案 1 :(得分:0)
尝试添加数组比较功能。
<!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(arraysEqual(GuessNum,winningNumbers)) {
alert("Congratulations you're rich");
} else {
alert("Sorry play again");
}
function arraysEqual(arr1, arr2) {
if(arr1.length !== arr2.length)
return false;
for(var i = arr1.length; i--;) {
if(arr1[i].toString() !== arr2[i].toString())
return false;
}
return true;
}
</script>
</body>
</html>
答案 2 :(得分:0)
由于要处理整数数组,因此可以对它们进行排序,然后转换为字符串以进行比较。
var guessNum = [];
var winningNumbers = [1, 2, 3, 4, 5, 6];
for (var i = 0; i < 6; i++) {
guessNum.push(prompt('Enter loto numbers ' + (i+1)));
}
if(guessNum.sort().toString() === winningNumbers.sort().toString()) {
alert("Congratulations you're rich");
} else {
alert("Sorry play again");
}
<!DOCTYPE html>
<html>
<head>
<title>Winning lottery numbers</title>
</head>
<body>
</body>
</html>
答案 3 :(得分:0)
您在includes()
方法中遇到的问题:
includes()方法确定数组的条目中是否包含某个值,并根据需要返回true或false。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes