Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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 如何在不重复相同名称的情况下生成3个名称 window.onload=start; 函数启动(){ 变量名称=[“Hans”、“Ole”、“Nils”、“Olav”、“Per”、“Knut”、“Kari”、“Line”、“Pia”] var random=Math.floor(Math.random()*8) var random2=Math.floor(Math.random()*8) var random3=Math.floor(Math.random()*8) 变量名称2=[] 名称2.推送(名称[随机]) name2.push(名称[2]) name2.push(名称[3]) 对于(i=0;i_Javascript_Arrays_Math_Random - Fatal编程技术网

Javascript 如何在不重复相同名称的情况下生成3个名称 window.onload=start; 函数启动(){ 变量名称=[“Hans”、“Ole”、“Nils”、“Olav”、“Per”、“Knut”、“Kari”、“Line”、“Pia”] var random=Math.floor(Math.random()*8) var random2=Math.floor(Math.random()*8) var random3=Math.floor(Math.random()*8) 变量名称2=[] 名称2.推送(名称[随机]) name2.push(名称[2]) name2.push(名称[3]) 对于(i=0;i

Javascript 如何在不重复相同名称的情况下生成3个名称 window.onload=start; 函数启动(){ 变量名称=[“Hans”、“Ole”、“Nils”、“Olav”、“Per”、“Knut”、“Kari”、“Line”、“Pia”] var random=Math.floor(Math.random()*8) var random2=Math.floor(Math.random()*8) var random3=Math.floor(Math.random()*8) 变量名称2=[] 名称2.推送(名称[随机]) name2.push(名称[2]) name2.push(名称[3]) 对于(i=0;i,javascript,arrays,math,random,Javascript,Arrays,Math,Random,我创建了一个使用递归的解决方案 函数randomNames重复三次。每次调用该函数时,计数都会增加,names是一个没有已使用名称的数组。它返回一个包含三个随机名称的数组 window.onload = start; function start () { var name = ["Hans","Ole","Nils","Olav","Per","Knut","Kari","Line","Pia"] var random = Math.floor(Math.random()*8)

我创建了一个使用递归的解决方案

函数randomNames重复三次。每次调用该函数时,计数都会增加,names是一个没有已使用名称的数组。它返回一个包含三个随机名称的数组

window.onload = start;

function start () {
  var name = ["Hans","Ole","Nils","Olav","Per","Knut","Kari","Line","Pia"]
  var random = Math.floor(Math.random()*8)
  var random2 = Math.floor(Math.random()*8)
  var random3 = Math.floor(Math.random()*8)
  var name2 = []
  name2.push(name[random])
  name2.push(name[random2])
  name2.push(name[random3])

  for(i=0; i<3; i++) {
  document.getElementById("par").innerHTML += name2[i] + "<br/>" ;
  }
}

您可以对所选项目使用哈希表并进行检查,直到找到所有需要的项目

window.onload=start;
函数start(){
变量名称=[“Hans”、“Ole”、“Nils”、“Olav”、“Per”、“Knut”、“Kari”、“Line”、“Pia”],
哈希={},
随机的
while(Object.keys(hash).length<3){
做{
random=Math.floor(Math.random()*name.length);
}while(散列[随机])
散列[随机]=真;
document.getElementById(“par”).innerHTML+=name[random]+“
”; } }

也许这会有所帮助。我随机化了数组的顺序,然后只选择前三个元素。这允许零次重复名称,并在每次运行函数时生成新的答案。不确定HTML是什么样子,所以我只添加了id“demo”


var玩家=[“Hans”、“Ole”、“Nils”、“Olav”、“Per”、“Knut”、“Kari”、“Line”、“Pia”]

函数竞赛(){
变量名称=[];
sort(函数(a,b){return0.5-Math.random()});

对于(i=0;iShuffle,取3)。
function start () {
  var name = ["Hans","Ole","Nils","Olav","Per","Knut","Kari","Line","Pia"]

  function randomNames(count, names) {
    if(count >= 3) return [];
    var random = Math.floor(Math.random()*(names.length-1));
    // remove current name
    var name = names.splice(random, 1);
    return randomNames(++count, names).concat(name);
  }

  var random = randomNames(0, name);
}
function tournament() {
  var names = [];
  players.sort(function(a,b){return 0.5 - Math.random()});
  for (i=0; i<3; i++){
    names.push(players[i]);
  }
  document.getElementById("demo").innerHTML = names;
}