Javascript 从数组到元素创建3个随机名称

Javascript 从数组到元素创建3个随机名称,javascript,arrays,random,Javascript,Arrays,Random,上帝,我爱这个网站。这么多很棒的ppl 所以,我可以从数组中得到1个随机名称。但是现在我每次都想要3个不同的名字,啊,我被卡住了-_^ 有人想指出我的知识不足,并以他们无比的威严D 提前感谢您可以使用现有函数从数组中随机指定一个名称,只需递归调用它,直到有3个不同的名称 var randomNames=[]; var count=0; function name() { if(count==3){ return; } var students = ["

上帝,我爱这个网站。这么多很棒的ppl

所以,我可以从数组中得到1个随机名称。但是现在我每次都想要3个不同的名字,啊,我被卡住了-_^

有人想指出我的知识不足,并以他们无比的威严D
提前感谢您可以使用现有函数从数组中随机指定一个名称,只需递归调用它,直到有3个不同的名称

 var randomNames=[]; 
 var count=0;

function name() {
    if(count==3){
      return;
    }
    var students = ["Hans","Ole","Nils","Olav","Per","Knut","Kari","Line","Pia"];
    var randomize = students.splice(Math.floor(Math.random() * students.length), 1);
    if(randomNames.indexOf(randomize) == -1){
        randomNames.push(randomize );
        ++count;
    }
    name();
  }

 var html = "Tilfeldige navn: ";

 document.getElementById("text").innerHTML = html + randomNames;

您可以使用现有函数从数组中提供一个随机名称,只需递归调用它,直到有3个不同的名称

 var randomNames=[]; 
 var count=0;

function name() {
    if(count==3){
      return;
    }
    var students = ["Hans","Ole","Nils","Olav","Per","Knut","Kari","Line","Pia"];
    var randomize = students.splice(Math.floor(Math.random() * students.length), 1);
    if(randomNames.indexOf(randomize) == -1){
        randomNames.push(randomize );
        ++count;
    }
    name();
  }

 var html = "Tilfeldige navn: ";

 document.getElementById("text").innerHTML = html + randomNames;
函数funkytown(){
document.getElementById(“btn”).onclick=name;
}
函数名(){
var randomize=[],
学生=[“Hans”、“Ole”、“Nils”、“Olav”、“Per”、“Knut”、“Kari”、“Line”、“Pia”];
对于(变量i=0;i<3;i++){
randomize.push(students.splice(Math.floor(Math.random()*students.length))1);
}
var html=“Tilfeldige navn:”;
document.getElementById(“text”).innerHTML=html+randomize.join(“,”);
}
funkytown();
输出: Tilfeldige导航:行、每行、Ole

下面是一个示例

函数funkytown(){
document.getElementById(“btn”).onclick=name;
}
函数名(){
var randomize=[],
学生=[“Hans”、“Ole”、“Nils”、“Olav”、“Per”、“Knut”、“Kari”、“Line”、“Pia”];
对于(变量i=0;i<3;i++){
randomize.push(students.splice(Math.floor(Math.random()*students.length))1);
}
var html=“Tilfeldige navn:”;
document.getElementById(“text”).innerHTML=html+randomize.join(“,”);
}
funkytown();
输出: Tilfeldige导航:行、每行、Ole


这里有一个例子,有很多种方法可以剥这只猫的皮

for循环

function name() {
    var students = ["Hans","Ole","Nils","Olav","Per","Knut","Kari","Line","Pia"];
    var randomize = [];
    for(var i = 0; i < 3; i++) {
        randomize.push(students.splice(Math.floor(Math.random() * students.length), 1));
    }
    var html = "Tilfeldige navn: ";
    document.getElementById("text").innerHTML = html + randomize.join(' ');
}
删除随机元素,直到只剩下3个

function name() {
    var students = ["Hans","Ole","Nils","Olav","Per","Knut","Kari","Line","Pia"];
    while(students.length > 3) {
        students.splice(Math.floor(Math.random() * students.length), 1);
    }
    var html = "Tilfeldige navn: ";
    document.getElementById("text").innerHTML = html + students.join(' ');
}

给这只猫剥皮有很多方法

for循环

function name() {
    var students = ["Hans","Ole","Nils","Olav","Per","Knut","Kari","Line","Pia"];
    var randomize = [];
    for(var i = 0; i < 3; i++) {
        randomize.push(students.splice(Math.floor(Math.random() * students.length), 1));
    }
    var html = "Tilfeldige navn: ";
    document.getElementById("text").innerHTML = html + randomize.join(' ');
}
删除随机元素,直到只剩下3个

function name() {
    var students = ["Hans","Ole","Nils","Olav","Per","Knut","Kari","Line","Pia"];
    while(students.length > 3) {
        students.splice(Math.floor(Math.random() * students.length), 1);
    }
    var html = "Tilfeldige navn: ";
    document.getElementById("text").innerHTML = html + students.join(' ');
}

为什么要拼接而不只是访问阵列?@Kyll-避免重复就好像他已经准备好做三次,得到三个不同的名字,但是现在我每次都想要三个不同的名字。。。函数的功能核心是
var randomize=…
行。。这样做3次,以获得3个不同的名称是的,我开始,但我不知道要添加什么,在哪里添加它。我是否添加了“while”或其他内容,或者我是不是太离谱了?为什么要拼接而不仅仅访问阵列?@Kyll-避免重复就好像他已经准备好做三次,得到三个不同的名字,但是现在我每次都想要三个不同的名字。。。函数的功能核心是
var randomize=…
行。。这样做3次,以获得3个不同的名称是的,我开始,但我不知道要添加什么,在哪里添加它。我是加了“while”还是什么?还是我太离题了?非常感谢你的回答!我从so中学到的东西比从讲座中学到的要多得多,希望猫没事。非常感谢你的回答!我从so中学到的东西比从讲座中学到的要多得多,希望猫没事。谢谢你抽出时间来帮助我!我真的很感激谢谢你花时间帮我!我真的很感激在我的课程中没有提到这一点。太棒了!谢谢你花时间,伙计!在我的课程中根本没有提到推。太棒了!谢谢你花时间,伙计!
function name() {
    var students = ["Hans","Ole","Nils","Olav","Per","Knut","Kari","Line","Pia"];
    while(students.length > 3) {
        students.splice(Math.floor(Math.random() * students.length), 1);
    }
    var html = "Tilfeldige navn: ";
    document.getElementById("text").innerHTML = html + students.join(' ');
}