生成一个随机数4次没有重复的Javascript?

时间:2016-07-01 22:27:50

标签: javascript html arrays

我想在1-100之间生成一个随机数,但我只想每次生成一次这样的数字。我有一个循环,运行3次运行.Math,然后将其推入一个数组。但是我不想要它不止一次产生相同数字的情况。

我在allAnswers []数组中放了21,因为这样可以保持一致。有没有办法生成然后检查该数组是否存在,然后再次运行.math?

function buttonGenerator(){
    var allAnswers = [21],
        randomizer = [];

    // Generates 3 random answers
    for(a = 0 ; a < 3; a++) {
         wrongAnswers = Math.floor((Math.random() * 100) + 1);
         allAnswers.push(wrongAnswers);
    }

    // Generates random buttons while inputting the correct and incorrect answers randomly
    for(i = 0 ; i < 4; i++) {
        var buttonArea = $("#answerOptions");
        input = $('<button class="col-xs-6 btn btn-primary"></button>');
        input.appendTo(buttonArea);
    }

    shuffle(allAnswers);
    console.log(allAnswers);
}

buttonGenerator();

1 个答案:

答案 0 :(得分:1)

在推送之前使用indexOf检查数组是否具有值:

if (allAnswers.indexOf(wrongAnswers) === -1) {
  allAnswers.push(wrongAnswers);
}