JSFiddle - React, Tailwind, and code Playground

by lbstr

JavaScript

var history = {};
var getUniqueRandom = function(min, max){
    var a = [];
    var i = max;
    // build an array of available numbers
    while(i >= min){
        if(history[i] === undefined){
            a.push(i);
        }
        i--;
    }

    // pick a random index
    var randomIndex = Math.floor(Math.random() * a.length);

    var result = a[randomIndex];
    // save it and return it
    history[result]=1;
    return result;
};

alert(getUniqueRandom(0, 15));
alert(getUniqueRandom(0, 15));
alert(getUniqueRandom(0, 15));
alert(getUniqueRandom(0, 15));
alert(getUniqueRandom(0, 15));
alert(getUniqueRandom(0, 15));
alert(getUniqueRandom(0, 15));
alert(getUniqueRandom(0, 15));
alert(getUniqueRandom(0, 15));
alert(getUniqueRandom(0, 15));
alert(getUniqueRandom(0, 15));
alert(getUniqueRandom(0, 15));
alert(getUniqueRandom(0, 15));
alert(getUniqueRandom(0, 15));
alert(getUniqueRandom(0, 15));