我有一个click
功能,所以当我点击一个按钮时,它应该在表格中放入5个不同的数字。这里的问题是五个数字并不总是不同。
$("button").click(function () {
$("table:eq(2)").show();
y = 0;
while (y < 5) {
x = Math.floor((Math.random() * 50) + 1);
klo = 0;
kolonija[y] = x;
if (tru==1)
{
while(klo<5){
while(kolonija[y]==rezerva[klo])
{
x = Math.floor((Math.random() * 50) + 1);
kolonija[y] = x;
}
klo++
}
rezerva[klo] = x;
}
else if (tru == 0)
{
rezerva[y] = x;
tru == 1;
}
$("table:eq(2) td:eq(" + y + ")").text(x);
y++;
}
});
这是我输入随机数的表格:
<button>IGRAJ</button>
<table border="1" class="rez">
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
<script src="skripta.js"></script>
答案 0 :(得分:2)
只需将随机数推入array
,直到array
中至少包含五个项目。
arr = [];
while (arr.length < 5) {
x = Math.floor(1 + Math.random() * 50);
// Check if the number is already in the array.
if (arr.indexOf(x) === -1) {
arr.push(x);
}
}
// "arr" now contains five random and unique numbers.
console.log(arr);
答案 1 :(得分:2)
使用Set并添加它直到它被填充
function generateRandomNumbers(nrOfItems) {
let s = new Set();
while (s.size < nrOfItems) s.add(Math.floor((Math.random() * 50) + 1));
return [...s];
}
console.log(generateRandomNumbers(5))
将数字放在表格中,你可以
function generateRandomNumbers(nrOfItems) {
let set = new Set();
while (set.size < nrOfItems) set.add(Math.floor((Math.random() * 50) + 1));
return [...set];
}
let tbl = document.getElementById('tbl');
let btn = document.getElementById('btn');
btn.addEventListener('click', () => {
let row = document.createElement('tr');
generateRandomNumbers(5).forEach(nr => {
let t = document.createElement('td');
t.appendChild(document.createTextNode(nr));
row.appendChild(t);
});
tbl.appendChild(row);
});
<button id="btn">IGRAJ</button>
<table id="tbl"></table>