Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.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 使用Math.floor、Math.Random向元素随机添加类 客观的_Javascript_Jquery_For Loop_Random_Floor - Fatal编程技术网

Javascript 使用Math.floor、Math.Random向元素随机添加类 客观的

Javascript 使用Math.floor、Math.Random向元素随机添加类 客观的,javascript,jquery,for-loop,random,floor,Javascript,Jquery,For Loop,Random,Floor,我有60名曲棍球运动员。有10名守门员(球员编号1-10)、20名防守队员(球员编号11-30)和30名前锋(球员编号31-60)。单击按钮.btn--random应将处于活动状态的职业随机添加到两名守门员、六名防守队员和十二名前锋,并移除处于非活动状态的职业 问题 当我使用一系列for循环和 Math.floor(Math.random())的组合 生成的数字是相同的,这不能像每个玩家一样发生 唯一,只能选择一次 我考虑过使用forEach或indexOf来帮助解决这个问题, 但我对生成的数

我有60名曲棍球运动员。有10名守门员(球员编号1-10)、20名防守队员(球员编号11-30)和30名前锋(球员编号31-60)。单击按钮
.btn--random
应将
处于活动状态的职业随机添加到
两名守门员、六名防守队员和十二名前锋
,并移除
处于非活动状态的职业

问题
  • 当我使用一系列for循环和
    Math.floor(Math.random())的组合
    生成的数字是相同的,这不能像每个玩家一样发生
    唯一,只能选择一次

    我考虑过使用
    forEach
    indexOf
    来帮助解决这个问题, 但我对生成的数字如何添加类感到非常困惑 对于60位玩家列表中的相应玩家,of
    处于活动状态
    球员特别是这一行
    应该在HTML中更改

scripts.js-这就是我取得的成绩
函数随机选择(最小值、最大值){
$(“.btn--random”).on(“单击”,函数(){
//总共有60名曲棍球运动员
//第一个玩家是1,第二个玩家是2,依此类推。。。
//有10名守门员,20名防守队员和30名前锋
//生成两个介于1-10之间的数字
对于(变量i=0;i<2;i++){
var randtow2=Math.floor(Math.random()*10+1);
console.log(randtow2);
如果(randTwo==randTwo){
}
};
//当前生成6个介于1-20之间的数字
//应该在11-30之间生成六个数字
对于(变量i=0;i<6;i++){
var randSix=数学地板(数学随机()*20+1);
console.log(randSix);
如果(randSix==randSix){
}
};
//当前生成12个介于1-30之间的数字
//应该在31-60之间生成两个数字
对于(变量i=0;i<6;i++){
var randSeven=Math.floor(Math.random()*30+1);
控制台日志(RAND12);
如果(RandSeven==RandSeven){
}
};
//将20个随机生成的数字存储到一个数组中?
变量数组=[]
//根据生成的数字添加类'is active'
var player=$(“.player”);
var rand=Math.floor(Math.random()*60);
player.eq(rand.addClass)(“处于活动状态”);
});
}随机选择();
index.html(代码段)
随机
布莱恩·埃尔德

家乡:橡树湖,男人

播放年份:1992-1997

GP

110

GA

2.00

3.12

3.46

2.70

SAV%

.909

.886

.884

.906

因此

0

0

3

2

布莱恩·埃尔德

守门员


您正在使用正确的函数生成随机数,但需要指定随机数的范围

您应该使用以下命令:

Math.floor(Math.random()*30 + 31)    //generate random number between 31-60
Math.floor(Math.random()*20 + 11)    //generate random number between 11-30
31/21是起始编号


30/20是可能结果的数目

您正在使用正确的函数生成随机数,但需要指定随机数的范围

您应该使用以下命令:

Math.floor(Math.random()*30 + 31)    //generate random number between 31-60
Math.floor(Math.random()*20 + 11)    //generate random number between 11-30
31/21是起始编号


30/20是可能结果的编号

请您查看以下代码:

$(文档).ready(函数(){
$(“.btn--random”).on(“单击”,函数(){
var goalies_array=getRandomNumbers(1,10,2);
$(“.goalies”).text(goalies_array.join(“,”);
var defensemen_数组=getRandomNumbers(11,30,6);
$(“.defensemen”).text(defensemen_数组.join(“,”);
var\u数组=getRandomNumbers(31,60,12);
$(“.forwards”).text(forwards\u array.join(“,”);
var players_array=守门员_array.concat(防守队员_array).concat(前锋_array);
//根据生成的数字添加类'is active'
var player=$(“.player”);
$(.is active”).removeClass(“is active”).addClass(“is inactive”);
$.each(玩家\数组、函数(索引、值){
var player_index=value-1;//我们正在使用基于0的索引
player.eq(player_index.find(“.is inactive”).removeClass(“is inactive”).addClass(“is active”);
});
})
Math.floor(Math.random()*30 + 31)    //generate random number between 31-60
Math.floor(Math.random()*20 + 11)    //generate random number between 11-30
function generateRoster(min, max){
    var players = [];
  for(var i = min; i <= max; i++){
    players.push(i);
  }
  return _.shuffle(players);
}