Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript-如何使一组变量具有不同于其他变量的随机数_Javascript - Fatal编程技术网

Javascript-如何使一组变量具有不同于其他变量的随机数

Javascript-如何使一组变量具有不同于其他变量的随机数,javascript,Javascript,我正在为一所学校做STEM游戏,让它随机挑选问题编号。有30个问题,但我只想用其中的20个。我需要它从1-30(No 0)中随机选取一个数字,并将每个随机数设置为某个变量。但我不知道如何制作,这样它就不会使用同一个数字两次。有什么帮助吗 以下是迄今为止我得到的代码: 函数onLoad(){ var N1=数学地板(数学随机()*30)+1; var N2=数学地板(数学随机()*30)+1; var N3=0; var N4=0; var N5=0; var N6=0; var N7=0; v

我正在为一所学校做STEM游戏,让它随机挑选问题编号。有30个问题,但我只想用其中的20个。我需要它从1-30(No 0)中随机选取一个数字,并将每个随机数设置为某个变量。但我不知道如何制作,这样它就不会使用同一个数字两次。有什么帮助吗

以下是迄今为止我得到的代码:

函数onLoad(){
var N1=数学地板(数学随机()*30)+1;
var N2=数学地板(数学随机()*30)+1;
var N3=0;
var N4=0;
var N5=0;
var N6=0;
var N7=0;
var N8=0;
var N9=0;
var N10=0;
var N11=0;
var N12=0;
var N13=0;
var N14=0;
变量N15=0;
var N16=0;
var N17=0;
var N18=0;
var N19=0;
var N20=0;
//确保每个问题都经过检查,以便不使用相同的问题
//N1将是第一个问题,不需要检查
//N2-N20需要确保它们与N1-N20不同
如果(N2==N1){
N2=数学楼层(数学随机()*30)+1;
}

}
首先,您需要生成一个数字1-30的数组,然后洗牌该数组,然后您可以检索数组中的前20个数字

function getRandomQuestionNumbers() {
  var numbers = [];
  for (var i = 1; i <= 30; i++) {
    numbers.push(i);
  }
  shuffle(numbers);
  return numbers.slice(0, 20);
}  
函数getRandomQuestionNumber(){ var数=[];
对于(var i=1;我创建一个数字数组1..30,洗牌该数组,并获取前20个数字。或者创建一个数字数组并移除随机元素20次,将变量设置为移除value@NickA10次*@RickvanOsta no.20,删除为带,更新以使其更清晰