Javascript 在数组中循环一个随机字符串,然后删除该字符串,这样它就可以';别再被选中了
如上所述 我正试图与一系列的球队进行淘汰赛抽签 我的目标是:Javascript 在数组中循环一个随机字符串,然后删除该字符串,这样它就可以';别再被选中了,javascript,arrays,Javascript,Arrays,如上所述 我正试图与一系列的球队进行淘汰赛抽签 我的目标是: 从一组团队中随机选择一个团队 删除该团队,使其不能再次被选中 循环直到所有团队都被选中 我管理过数字1和数字3,但我很难在我的职能范围内工作。我尝试了.push和.splice方法并保存到变量 这就是我到目前为止得到的 //create an array of teams var teams = ['Aston Villa', 'Burnley', 'Arsenal', 'Liverpool', 'Everton',
//create an array of teams
var teams = ['Aston Villa', 'Burnley', 'Arsenal', 'Liverpool', 'Everton',
'Man Utd', 'Brighton', 'West Ham', 'Spurs', 'Chelsea', 'Man City', 'Fulham']
var usedTeams = [];
var pickedTeam;
//pick a team randomly from the array
function pickTeam() {
for (var i = 0; i < teams.length; i++) {
pickedTeam = teams[Math.floor(Math.random() * teams.length)];
console.log(pickedTeam);
usedTeams.push(pickedTeam);
}
}
//remove that item from the array
//pick another team
//loop until all teams are picked.
//创建一个团队数组
var球队=[‘阿斯顿维拉’、‘伯恩利’、‘阿森纳’、‘利物浦’、‘埃弗顿’,
“曼联”、“布莱顿”、“西汉姆”、“热刺”、“切尔西”、“曼城”、“富勒姆”]
var usedTeams=[];
var-pickedTeam;
//从阵列中随机选择一个团队
函数pickTeam(){
对于(var i=0;i
将该值取出来,而不仅仅是取出来
pickedTeam = teams.splice(Math.floor(Math.random() * teams.length), 1)[0];
var球队=[“阿斯顿维拉”、“伯恩利”、“阿森纳”、“利物浦”、“埃弗顿”、“曼联”、“布莱顿”、“西汉姆”、“热刺”、“切尔西”、“曼城”、“富勒姆”];
var usedTeams=[];
var teamsQty=teams.length;
for(让i=0;i代替函数中的循环,让函数返回一个名称,并调用函数team.length
次
const球队=[“阿斯顿维拉”、“伯恩利”、“阿森纳”、“利物浦”、“埃弗顿”、“曼联”、“布莱顿”、“西汉姆”、“热刺”、“切尔西”、“曼城”、“富勒姆”];
函数pickTeam(){
const rnd=Math.floor(Math.random()*teams.length);
返回团队。拼接(rnd,1);
}
while(teams.length>0){
log(pickTeam(),teams);
}
您的尝试是如何进行的-使用splice()
和slice()
-失败?出了什么问题?选定的团队会发生什么情况?你确定该函数中的循环是你想要的吗?当打印到控制台时,我得到了12个结果,但一些repeatsend的目标是在控制台或HTML文档中一次显示一个团队,就像复制进行淘汰赛的过程一样。这是b很好!有没有办法减慢循环速度,让它一次打印一个团队?是的。给我一点时间,我会写一些解释代码。