“Cómo evitar que el método aleatorio proporcione más de dos mismos números JS Sitio: stackoverflow.com” Código de respuesta

Cómo evitar que el método aleatorio proporcione más de dos mismos números JS Sitio: stackoverflow.com

function getNumber() {
    var min = 0,
        max = 4,
        random;

    do {
        random = Math.floor(Math.random() * (max - min)) + min;
    } while (random === getNumber.last);
    getNumber.last = random;
    return random;
};

var i;
for (i = 0; i < 100; i++) {
    console.log(getNumber());
}
Med

Cómo evitar que el método aleatorio proporcione más de dos mismos números JS Sitio: stackoverflow.com

function setRandomInterval(min, max) {
    var last;
    if (min >= max) {
        throw 'Selected interval [' + min + ', ' + max + ') does not work for random numbers.';
    }
    return function () {
        var random;
        do {
            random = Math.floor(Math.random() * (max - min)) + min;
        } while (random === last);
        last = random;
        return random;
    };
}

var i,
    getRandom = setRandomInterval(0, 4);

for (i = 0; i < 100; i++) {
    console.log(getRandom());
}

setRandomInterval(4, 4); // throw error
Med

Respuestas similares a “Cómo evitar que el método aleatorio proporcione más de dos mismos números JS Sitio: stackoverflow.com”

Preguntas similares a “Cómo evitar que el método aleatorio proporcione más de dos mismos números JS Sitio: stackoverflow.com”

Más respuestas relacionadas con “Cómo evitar que el método aleatorio proporcione más de dos mismos números JS Sitio: stackoverflow.com” en JavaScript

Explore las respuestas de código populares por idioma

Explorar otros lenguajes de código