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

标签 javascript arrays random

天哪,我喜欢这个网站。这么多很棒的人!

到目前为止,我可以从数组中获取 1 个随机名称。但现在我每次都想要 3 个不同的名字,aaa,我被卡住了 -_^

有人想用他们的至高无上的威严来指出我知识的缺乏吗? :D 提前致谢<3

JS

     <script> 

window.onload = funkytown;

function funkytown() {
    document.getElementById("btn").onclick = name;
}

function name() {

        var students = ["Mike","Nick","Slagathor","Banana","Rick","Astley","Rock","JW","pronax"];
        var randomize = students.splice(Math.floor(Math.random() * students.length), 1);

        var html = "Random names: ";

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


     }
     </script>

HTML

<span id="text"></span>
<input type="button" id="btn" value="Randomize!" />

最佳答案

您可以使用现有的函数,从数组中随机提供一个名称,只需递归调用它,直到获得 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;

关于javascript - 从数组到元素创建 3 个随机名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32760713/

相关文章:

javascript - 销毁打印窗口中的 slider

php - 如何显示可读数组 - Laravel

ios - 将 indexpath.row 转移到新的 View Controller ?

python - 将输出转换为 numpy 数组

java - 随机类不适用于 Android 4.1+

javascript - 预编译 Assets 失败。推送被拒绝,无法编译 Ruby 应用程序

javascript - position:fixed 类与 this.src 冲突

javascript - Laravel 与 Jquery - Ajax 抛出 500 错误 - 服务器端的问题

java - 随机选择平面中的点,距离越近的点选择概率越高

java - 让我的圆圈随机消失,并在随机几秒后再次出现