Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.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_Arrays - Fatal编程技术网

Javascript 在数组中循环一个随机字符串,然后删除该字符串,这样它就可以';别再被选中了

Javascript 在数组中循环一个随机字符串,然后删除该字符串,这样它就可以';别再被选中了,javascript,arrays,Javascript,Arrays,如上所述 我正试图与一系列的球队进行淘汰赛抽签 我的目标是: 从一组团队中随机选择一个团队 删除该团队,使其不能再次被选中 循环直到所有团队都被选中 我管理过数字1和数字3,但我很难在我的职能范围内工作。我尝试了.push和.splice方法并保存到变量 这就是我到目前为止得到的 //create an array of teams var teams = ['Aston Villa', 'Burnley', 'Arsenal', 'Liverpool', 'Everton',

如上所述

我正试图与一系列的球队进行淘汰赛抽签

我的目标是:

  • 从一组团队中随机选择一个团队
  • 删除该团队,使其不能再次被选中
  • 循环直到所有团队都被选中
  • 我管理过数字1和数字3,但我很难在我的职能范围内工作。我尝试了.push和.splice方法并保存到变量

    这就是我到目前为止得到的

     //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很好!有没有办法减慢循环速度,让它一次打印一个团队?是的。给我一点时间,我会写一些解释代码。