Explore the horizon of roasted coffee beans. No ads. No promotion. Simply RANDOM.
Without modulo bias 😉
randomBetween(0, 10);
function randomBetween(min, max) {
const range = max - min + 1;
const maxUint32 = 0xFFFFFFFF; // 2^32 - 1
const limit = (
Math.floor(
(maxUint32 + 1) / range
) * range
) - 1;
while (true) {
const array = new Uint32Array(1);
crypto.getRandomValues(array);
const r = array[0];
if (r <= limit) {
return min + (r % range);
}
}
}