小编Hal*_*Jar的帖子

如何使javascript显示随机名称而不重复?

我需要能够点击一个按钮,然后以随机顺序出现一些不同的名称,而不重复任何名称.显示随机名称很简单,但我无法避免重复.这就是我所拥有的,我不明白为什么它不起作用.

<script>

var players = []
players[0] = "Billy";
players[1] = "Alex";
players[2] = "Kevin";
players[3] = "Fred";

function tournament(amount) {
    var a = 0, i = 0, place = 1;
    randomlyselect:
    while (a<amount) {
        var randomplayer = Math.floor(Math.random()*(players.length));
        if (players[randomplayer] === document.getElementById('player1').innerHTML || document.getElementById('player2').innerHTML || document.getElementById('player3').innerHTML) {
            continue randomlyselect;
            } 
        else {
            document.getElementById('player'+place).innerHTML = players[randomplayer];
            place++;
            a++;
        }
    }

}

</script>

<button onClick="tournament(4)">Tournament Results</button>

<p id="player1"></p>
<p id="player2"></p>
<p id="player3"></p>
<p id="player4"></p>
Run Code Online (Sandbox Code Playgroud)

我知道问题是if语句,但我不知道如何检查名称是否已经显示.如果您知道我检查某些东西是否已经被挑选的方法有什么问题或者更好的避免重复的方法,请告诉我.

html javascript arrays random loops

2
推荐指数
1
解决办法
96
查看次数

标签 统计

arrays ×1

html ×1

javascript ×1

loops ×1

random ×1