randomInt
Return a random integer n
such that min <= n < max
. This implementation avoids modulo bias.
The range (max - min
) must be less than 2**48. min
and max
must be safe integers.
If the callback
function is not provided, the random integer is generated synchronously.
// Asynchronous
const {
randomInt,
} = await import('node:crypto');
randomInt(3, (err, n) => {
if (err) throw err;
console.log(`Random number chosen from (0, 1, 2): ${n}`);
});
Content copied to clipboard
// Synchronous
const {
randomInt,
} = await import('node:crypto');
const n = randomInt(3);
console.log(`Random number chosen from (0, 1, 2): ${n}`);
Content copied to clipboard
// With `min` argument
const {
randomInt,
} = await import('node:crypto');
const n = randomInt(1, 7);
console.log(`The dice rolled: ${n}`);
Content copied to clipboard
Since
v14.10.0, v12.19.0
Parameters
min=0 Start of random range (inclusive).
max
End of random range (exclusive).
callback
function(err, n) {}
.