我正在阅读 Murach 的 JavaScript 和 JQuery 一书。我正在尝试创建彩票生成器。我目前坚持如何使用 indexOf 将数组的第一个元素与下一个元素进行比较,以确保我不会得到重复项。我的想法是打印 5 个随机数,而前面的数字不一样。
var numOfTickets;
do{
numOfTickets = prompt("Enter number of lotto tickets (1-10)");
numOfTickets = parseInt(numOfTickets);
var lottoNum = new Array(5);
do{
for(var i = 0; i <lottoNum.length; i++){
var num = Math.floor(Math.random() * 47);
lottoNum[i] = num;
}
document.write(lottoNum);
}while(lottoNum.indexOf(i) != i+1)); //while the value of first index != to the next?
}
while(numOfTickets <1 || numOfTickets >10 ); //repeat prompt until valid.
最佳答案
试试这个:
var numOfTickets;
do {
numOfTickets = prompt("Enter number of lotto tickets (1-10)");
numOfTickets = parseInt(numOfTickets);
var lottoNum = new Array(5);
for (var i = 0; i < lottoNum.length; i++) {
var num;
do {
num = Math.floor(Math.random() * 47);
} while (lottoNum.indexOf(num) > -1);
lottoNum[i] = num;
}
document.write(lottoNum);
}
while (numOfTickets < 1 || numOfTickets > 10); //repeat prompt until valid.
关于javascript - 使用 indexOf 比较数组的第一个和下一个元素。 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48594999/