randomInt

external fun randomInt(max: Number): Double(source)

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}`);
});
// Synchronous
const {
randomInt,
} = await import('node:crypto');

const n = randomInt(3);
console.log(`Random number chosen from (0, 1, 2): ${n}`);
// With `min` argument
const {
randomInt,
} = await import('node:crypto');

const n = randomInt(1, 7);
console.log(`The dice rolled: ${n}`);

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) {}.


external fun randomInt(min: Number, max: Number): Double(source)
external fun randomInt(max: Number, callback: (JsError?, value: Double) -> Unit)(source)
external fun randomInt(min: Number, max: Number, callback: (JsError?, value: Double) -> Unit)(source)