如何在setInterval函数中使用Math.random找到以前随机生成的数字?

时间:2017-12-26 13:59:57

标签: javascript random setinterval

我正在生成1到13之间的随机数。这很好用。我想做的不是生成与前一个号码相同的号码。

function showRandomDotIcon() {
    var randomDot = Math.floor(Math.random() * 13) + 1;
    console.log(randomDot);
}

setTimeout(showRandomDotIcon, 3500);

类似于:

if(randomDot == previousDot) {
    // skip to next number
}

1 个答案:

答案 0 :(得分:4)

你可以在最后一个随机值上取closure并检查它。

function showRandomDotIcon() {
    var last;
    return function () {
        var randomDot;

        do {
            randomDot = Math.floor(Math.random() * 13) + 1;
        } while (last === randomDot)
        last = randomDot;
        console.log(randomDot);
    };
}

setInterval(showRandomDotIcon(), 1000);