javascript - 生成一个随机数4次不重复的Javascript?

标签 javascript html arrays

我想生成一个 1-100 之间的随机数,但我只想每次生成一次这些数字。我有一个运行 3 次的循环来运行 .Math,然后将其插入数组中。但我不希望出现多次生成相同数字的情况。

我已将 21 放入 allAnswers[] 数组中,因为这样可以保持一致。有没有办法生成并检查该数组是否存在该数字,然后再次运行 .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();

最佳答案

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

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

关于javascript - 生成一个随机数4次不重复的Javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38154580/

相关文章:

javascript - 使用 jQuery 和 php 执行两个任务

c - 将链表数组传递给函数

javascript - select 标签中的 onchange 不调用函数

javascript - 如何使用对象作为 Highcharts 的系列

javascript - 我如何使用 jQuery 实现类似 GMail 的选项卡式/面板式界面?

python - 将 Numpy 数组插入 Mysql 数据库

javascript - 递归问题。如何解决这个问题?

javascript - 使用 ajax 使用来自 php 页面的数据填充引导模式

javascript - 将字符串从 app.js 传递给 Angular 表达式

html - Img 和 div 之间的间隙