如何在一个js函数中执行两个函数,可以在一个html输入中放入两组随机数?我想创建一个单击生成两组随机数的函数。
从1-50生成5个数字,然后从1-10生成2个数字。一行中有两组数字。
此代码无效:
function eurojackpot() {
let result = new Set();
while (result.size != 5) {
result.add(Math.floor(Math.random() * 50) + 1);
}
document.getElementById("eurojackpot").innerText = [...result];
let result = new Set();
while (result.size != 2) {
result.add(Math.floor(Math.random() * 10) + 1);
document.getElementById("eurojackpot2").innerText = [...result];
}
}
eurojackpot();

<div id="eurojackpot"></div>
<div id="eurojackpot2"></div>
&#13;
我想要实现的目标:
exp - [2,5,15,23,49] + [1,10]
答案 0 :(得分:1)
当您删除第二个“let”结果“:
时,代码有效function eurojackpot() {
let result = new Set();
while(result.size != 5){
result.add(Math.floor(Math.random()*50)+1);
}
document.getElementById("eurojackpot").innerText = [...result];
result = new Set();
while(result.size != 2){
result.add(Math.floor(Math.random()*10)+1);
}
document.getElementById("eurojackpot2").innerText = [...result];
}
这是一个重现它的JSFiddle:
答案 1 :(得分:0)
检查以下代码段, 在这里,您可以指定最小值和最大值(您希望随机数应存在的范围)作为第一个和第二个参数以及随机元素的总数(在您的情况下,第一个中的5个数字和第二个中的2个数字)作为第三个参数randomWholeNum函数。
点击按钮会产生随机数。现在根据您的需要设计样式。
var Result =
from t1 in table1
from t2 in table2
from t3 in table3.Select(f => f.SchemeId).Distinct()
where (t1.ISIN == t2.ISIN_GrowthDiv || t1.ISIN == t2.ISIN_DivReinv) & t3 == t2.SchemeID
select new { t1.ISIN, t2.ISIN_DivReinv, t2.SchemeID };
&#13;
function randomWholeNum(min, max, total) {
var arr = []
while(arr.length < total){
var randomnumber = Math.floor(Math.random() * (max - min + 1)) + min;
if(arr.indexOf(randomnumber) > -1) continue;
arr[arr.length] = randomnumber;
}
return arr;
}
$(".generate").click(function(e){
var rand_no1 = randomWholeNum(1, 50, 5);
var rand_no2 = randomWholeNum(1, 10, 2);
document.getElementById("eurojackpot").innerText = rand_no1;
document.getElementById("eurojackpot2").innerText = rand_no2;
});
&#13;
答案 2 :(得分:0)
以下内容可能适合您:
const pickRandom = (min,max)=>
Math.floor(Math.random()*max)+min;
const pickFrom = array =>
array[pickRandom(0,array.length-1)];
const pick = (array,amount) => {
const recur = (numbers,array) => {
if(numbers.length>=amount){
return [numbers,array];
}
const picked = pickFrom(array);
return recur(
numbers.concat(picked),
array.filter(item=>item!==picked)
);
}
return recur([],array);
}
document.querySelector("button").addEventListener(
"click",
()=>{
const [jack1] = pick(
Array.from(new Array(50),
(x,index)=>index+1),5
);
const [jack2] = pick(
Array.from(new Array(10),
(x,index)=>index+1),2
);
document.querySelector("#eurojackpot").value=jack1.join(",");
document.querySelector("#eurojackpot2").value=jack2.join(",");
}
);
<input type="text" id="eurojackpot">
<input type="text" id="eurojackpot2">
<button>make numbers</button>