我正在生成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
}

最佳答案

您可以对最后一个随机值使用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);

09-19 20:22